请教一个验证的问题 现有多个input,同时失去焦点时才执行a,只要焦点在其中一个上都不执行a 请问这个用js怎么验证? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不知道有没有办法获取当前焦点控件,如果有,为了这个输入验证对所有焦点进行监听也是很低效的方法,事实上我觉得onblur这种验证都是一个非常不友好的方法,因为别人有可能要移动焦点去别的地方去查看,或者去复制,这种情况一直不允许用户离开焦点,是非常令人恼怒的。好的方法当然是执行行为的时候再统一验证,比如提交的时候 http://www.cnblogs.com/deadshot123/archive/2006/11/03/549009.html 如果你非要这么做也是可以的,有个笨办法比较麻烦,你先获取 所有的input , 然后每个input 都注册一个onblur 事件, 当执行玩一个新的input onblur的时候计个数,当计的这个数等于所有的input 的 length的时候就做你想做的事, 当然这种方法很不对,建议你还是换种思想实现,比如1楼说的建议用个按钮做一次性的提交验证。 <script type="text/javascript"> function a(){ var ts=document.getElementsByTagName("input"); for(var i=0;i<ts.length;i++){ if(ts[i].type=="text"){ ts[i].setAttribute("focus","false"); ts[i].onblur=mm; ts[i].onfocus=ss; } } } function ss(){ this.setAttribute("focus","true"); } function mm(){ this.setAttribute("focus","false"); window.setTimeout("kk()",50); } function kk(){ var ts=document.getElementsByTagName("input"); for(var i=0;i<ts.length;i++){ if(ts[i].type=="text"){ if(ts[i].getAttribute("focus")=="true"){ return; } } } alert("ok"); } window.onload=a;</script></head><body><input type="text"><br/><input type="text"><br/><input type="text"><br/><input type="text"><br/>这样试试 http://www.cnblogs.com/deadshot123/archive/2006/11/03/549009.html 鼠标移上,同级li变透明(代码有一点点问题,希望能帮忙看看) 跪求JWPLAYER播放器代码 fckeditor空格乱码 自己封装的一个Vector类 一个很头疼的问题,一直没解决!JS只兼容IE7 其他浏览器不兼容 值传递问题 Firefox下的剪贴板问题 大连的朋友帮帮俺喽 怎样显示日期相加后的时间? 在线等,急用 js笔记,顺便BS下写博客文章保存发表不了. 请教一个关于div的问题
事实上我觉得onblur这种验证都是一个非常不友好的方法,因为别人有可能要移动焦点去别的地方去查看,或者去复制,这种情况一直不允许用户离开焦点,是非常令人恼怒的。
好的方法当然是执行行为的时候再统一验证,比如提交的时候
如果你非要这么做也是可以的,有个笨办法比较麻烦,你先获取 所有的input , 然后每个input 都注册一个onblur 事件, 当执行玩一个新的input onblur的时候计个数,当计的这个数等于所有的input 的 length的时候就做你想做的事, 当然这种方法很不对,建议你还是换种思想实现,比如1楼说的建议用个按钮做一次性的提交验证。
function a(){
var ts=document.getElementsByTagName("input");
for(var i=0;i<ts.length;i++){
if(ts[i].type=="text"){
ts[i].setAttribute("focus","false");
ts[i].onblur=mm;
ts[i].onfocus=ss;
}
}
}
function ss(){
this.setAttribute("focus","true");
}
function mm(){
this.setAttribute("focus","false");
window.setTimeout("kk()",50);
}
function kk(){
var ts=document.getElementsByTagName("input");
for(var i=0;i<ts.length;i++){
if(ts[i].type=="text"){
if(ts[i].getAttribute("focus")=="true"){
return;
}
}
}
alert("ok");
}
window.onload=a;
</script>
</head><body>
<input type="text"><br/>
<input type="text"><br/>
<input type="text"><br/>
<input type="text"><br/>
这样试试