JS子窗口向父窗口传值
方法一:用模式窗口
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口(模式窗口就是子窗口,打开后不能操作父窗口,只能等模式窗口关闭时才能操作)时,用于返回窗口的值,下面举个例子:
//father.html
HEAD
META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"
TITLE /TITLE
script language="javascript"
function showmodal(){
var ret = window.showModalDialog("child.html",null,"dialogWidth:350px;dialogHeight:350px;help:no;status:no");
if (ret){
alert('子窗口返回真!');
}else{
alert('子窗口返回假!');
}
}
/script
/HEAD
BODY
INPUT id=button1 type=button value=Button name=button1
/BODY
/HTML
//child.html
HTML
HEAD
META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"
TITLE /TITLE
script language="javascript"
function trans(tag){
if (tag==0){
window.returnValue=false;
} else{
window.returnValue =true;
}
window.close();
}
/script
/HEAD
BODY
INPUT id=button1 type=button value="返回真" name=button1
INPUT id=button2 type=button value="返回假" name=button2
/BODY
/HTML
这样一来可以实现从模式窗口向父窗口传递值的作用,这个returnValue除了可以是布尔值,整型值等以外还可以是个js数组,用来传递大量数据。
showModalDialog,是模态窗口,始终获得焦点,但弹出的窗体不能刷新,此弹出的窗口里操作button,要想不弹出新窗口,需在弹出的窗口中在 head 和 /head 之间加
base target="_self"
方法二:用opener
这是一个父窗口~
html
head
title
/title
script language="javascript"
function win(){
window.open("login.html",null,"height=150,width=200");
}
/script
/head
body
table id="t1"
tr td id="dd" user /td /tr
tr td id="bb" sex /td /tr
/table
input type="button" value="提交" /
/body
/html
下面是一个子窗口
html
head
title
/title
script language="javascript"
function win(){
window.opener.document.all.dd.innerText=document.getElementByIdx("user").value;
window.opener.document.all.bb.innerText=document.getElementByIdx("sex").value;
window.close();
}
/script
/head
body
user:
input type="text" name="user"/
br sex:
input type="text" name="sex"/
br
input type="button" value="提交" /
/body
/html
————————————————
版权声明:本文为CSDN博主「世间本无路,恒走坦途出」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
0条评论