如何实现在不使用window.showModalDialog 的情况下用 window.open方式 向父窗口返回值。例如:
页面A.htm 用 window.open方式弹出页面 B.htm 。
在页面B.htm上选择一个值,确定关闭窗口后将选择的这个值返回到父窗口A.htm。
A.htm得到返回的值后,给本页面上的文本框赋值。1.在A.htm里建一个函数:function sele(NO){ //NO为返回值
alert(NO);//可以直接赋值给表单
var re= new Array();//如果需返回多个变量,则采用数组把各个变量分开
re=NO.split(",");
form1.feild1.value=re[0];
form1.feild2.value=re[1];//form1为本面表单名,feild1、2为表单元素
}<form name="form1" action="....">
<input name="feild1">
<input name="feild1">
</form>2.在B,htm 加以下代码
function re(NOre){
window.opener.sele(NOre);
window.close();"
}<form name="form1" action="....">
<input type="button" value="返回值" onclick="re("把需返回的变量")">
</form>
页面A.htm 用 window.open方式弹出页面 B.htm 。
在页面B.htm上选择一个值,确定关闭窗口后将选择的这个值返回到父窗口A.htm。
A.htm得到返回的值后,给本页面上的文本框赋值。1.在A.htm里建一个函数:function sele(NO){ //NO为返回值
alert(NO);//可以直接赋值给表单
var re= new Array();//如果需返回多个变量,则采用数组把各个变量分开
re=NO.split(",");
form1.feild1.value=re[0];
form1.feild2.value=re[1];//form1为本面表单名,feild1、2为表单元素
}<form name="form1" action="....">
<input name="feild1">
<input name="feild1">
</form>2.在B,htm 加以下代码
function re(NOre){
window.opener.sele(NOre);
window.close();"
}<form name="form1" action="....">
<input type="button" value="返回值" onclick="re("把需返回的变量")">
</form>
http://www.jiemengwu.com/ 解梦屋 http://www.phpzy.com/php/ 绿色php资源
最好用window.showModalDialog();可以传数组 子页面根据数组索引取值就可以了
或者添加到对象中
var obj={};
obj.name="";
obj.ID=01;
获取
var obj=window.dialogArguments;
obj.name;
-------------------------------
if(window.opener)
var obj=window.opener.document.getElementByiD("XXX");
obj.value="xxx";
------------------------------
1.与window.open返回值有关的技巧请大家多多交流。
2.与window.open返回值无关的就不必在这时交流了。
3.另外,通过给父窗口表单或单元赋值获得的,也不必在这里交流,因为网上搜出很多这方面的例子。