在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;
}
}
这样试一试