在web开发过程中经常会遇到父子页面之间互相传值的情况,今天我也遇到这种情况,有时间就来记下,以免今后忘了。
父子页面互相传值我知道的有两种做法
一、非模式状态 这种状态下打开子页面后还可以继续操作父页面,这样有时候会有一些弊端。具体做法如下:
在父页面:
var width = window.screen.width * 0.5;
var height = window.screen.height * 0.3;
var top = (window.screen.width - width)/2;
var left = (window.screen.height - height)/2;
var args = "height="+height+",width="+width+",top="+top+",left="+left;
var link = "子页面";
window.open(link,"_blank",args+",toolbar=no,location=no,resizable=yes,status=no");
子页面往父页面传值:
window.opener.document.getElementsByName("name0].value=xx;
window.opener即可得到父页面对象
二、在模式状态下,这种状态下打开子页面后不能操作父页面,具体做法如下:
在父页面:
var link = "子页面";
window.showModalDialog(link,window,"dialogWidth:490px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no");
在子页面:
var pwin = window.dialogArguments; 取得父页面对象
pwin .document.getElementsByName("name0].value=xx;给父页面对象附值