日期:2014-05-16  浏览次数:20347 次

<input>如何移去焦点?
在a.htm里有一个input文本框,获得焦点后弹出个窗口(b.htm)供用户选择数据。用户选择完数据后,数值回填到a.htm里的input文本框。
        要求文本框再次被用户触发onfocus()后,仍能弹出窗口。

      问题:a.htm的 <input> 文本框去不掉焦点,窗口   总是不断的弹出;或者使用了opener.document.all.n1.onfocus=null后,怎么能再次给文本框添加函数?
        请问,应该如何移去   文本框的   焦点亚?

a.htm
--------------------------
<html> <body>
<input   type= "input "   name= "n1 "   onfocus= "window.open( '2.htm ', ' ', 'width=200,height=200 ') "   size= "200 "   value= " "> </input>
</body> </html>

b.htm
-------------------------------
<html>
<head>
<script>
function   set(){
              //opener.document.all.n1.onfocus=null;
opener.document.all.n1.value= "1 ";      
window.close();
}
</script> </head>

<body>

<a   href= "### "   onClick= "set() "> asdfsad </a>
</body> </html>


------解决方案--------------------
function focusfun(){
var object=event.srcElement;
object.onfocus=null;
var s=showModuleDialog( "b.htm ",window, " ");
if(s==undefined){
object.onfocus=focusfun;
return ;
}
//这里修改数值
object.onfocus=focusfun;
}
}

这样试一试