这样处理会出现死循环的。当离开Item77到Item78时,Item77就会
触发事件,要求焦点重新回到Item77,但这时触发了Item78的onBlur
事件,要求焦点重新回到Item78。
有一个解决办法是
<script language="javascript>
function checkItem()
{
if ((form_j.item11.value=='')&&(form_j.item12.value=='')&&(form_j.item77.value=='')) 
    {alert('出错');form_j.item77.focus();} 
else 
    if ((form_j.item15.value=='')&&(form_j.item16.value=='')&&(form_j.item78.value=='')) 
    {alert('出错');form_j.item78.focus();} 
}
</script>
<td> 
……
<input type="text" name="item77" onBlur="checkItem()"} >
</td> 
<td> 
<input type="text" name="item78" onBlur="checkItem()"} ><td> 
..... 
应该还有其他解决办法。

解决方案 »

  1.   

    判断没有问题啊,这只是一段代码。
    我的条件是“&&”....我的问题是:
    如果item11,item12,item77,item15,item16,item78,都为空的情况下。才有死循环,用鼠标在item77,item78之间切换,就不会有问题。但是用tab切换就一定会有死循环,怎样做呢?
      

  2.   

    修改onblur函数为
     onblur='if(document.tar==null&&this.value==""){document.tar=this;alert("出错");document.tar.focus();}else{document.tar=null;}'
      

  3.   

    判断没有问题啊,这只是一段代码。
    我的条件是“&&”....我的问题是:
    如果item11,item12,item77,item15,item16,item78,都为空的情况下。才有死循环,用鼠标在item77,item78之间切换,就不会有问题。但是用tab切换就一定会有死循环,怎样做呢?
    _____________
    f2k(木头) 兄,你的方法我去试试先!
      

  4.   

    qiushuiwuhen(秋水无恨) 兄,你的方法好用,等一下给你加分!!