你试试能不能用光标离开事件判断呀 就是textarea的onblur事件 我一直用这个判断 但是就是不行……
1个回答
展开全部
在onblur事件里调用自身的focus()这是矛盾的,相当于在即将失去焦点时调用了focus(),但此时其实焦点还在这个元素上。等调用完了才会真正的失去。这是原因,解决办法是使用window.setTimeout
<form action="" name="myform" method="post">
<textarea name="say" rows="10" cols="30" onblur="check();"></textarea>
<input type="submit" value="提交">
</form>
<script language="javascript">
function check(){
if(document.myform.say.value==""){
alert("不能为空");
window.setTimeout(function(){document.myform.say.focus();}, 0);
return false;
}
}
</script>
<form action="" name="myform" method="post">
<textarea name="say" rows="10" cols="30" onblur="check();"></textarea>
<input type="submit" value="提交">
</form>
<script language="javascript">
function check(){
if(document.myform.say.value==""){
alert("不能为空");
window.setTimeout(function(){document.myform.say.focus();}, 0);
return false;
}
}
</script>
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询