表单的处理一般分成2种: field 单独 onblur 时进行验证并提示 与 在提交表单时验证全部 field (并行与单独验证)。 今天遇到了一个问题,可以说是低级错误。单独说一下 每个 field onblur 时验证的问题。
<input type="text" onblur="test(this)" />
function test(o){
if(document.getElementById(o).value=='')
{
alert('test');
document.getElementById(o).focus();
}
}
上面这种情况下是可以正常运行,但下面的情况是当多个field需要同时验证的时候就有问题了
<input type="text" onblur="test(this)" />
<input type="text" onblur="test(this)" />
function test(o){
if(document.getElementById(o).value=='')
{
alert('test');
document.getElementById(o).focus();
}
}
在这种情况下会出现死循环,到时IE 卡死 cpu100% 。解决方法就是多field的时候,不能 又blur又focus。 鱼与熊掌不可兼得也…

reply