六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 179|回复: 0

JS窗口问题处理:刷新父窗口的问题

[复制链接]

升级  77%

281

主题

281

主题

281

主题

进士

Rank: 4

积分
885
 楼主| 发表于 2013-2-7 21:08:59 | 显示全部楼层 |阅读模式
http://kevinyuan03.blogspot.com/2008/04/blog-post.html
情况:用window.open()打开子窗口时候,如果子窗口要得到父窗口页面的某一个值,有两种办法:第一种将父窗口的那个值保存到formbean中然后在子窗口中用隐藏域得到,第二种就是在子窗口中用window.opener.document.getElementById("").value;
此时在子窗口做了某些操作要刷新父窗口,可以用window.opener.document.location.reload();来刷新父窗口
注意:有时候用上面的方法刷新父页面的时候会出现个“重试”跟 “取消”的对话框!所以用以下代码可以解决:
window.opener.location.href=window.opener.location.href;
window.location.reload;
如果用showModalDialog模式窗口的话,父页面中要在参数中写明要传输的对象。例如:
window.showModalDialog("/abc.do?method=list"&typeId="+typeId+"&time=<%=newjava.util.Date().getTime() %>",window,
"center:yes;dialogHeight:505px;dialogWidth:630px;toolbar:no;menubar:no;scrollbars:no;resizable:no;location:no;status:no;");
其中"window"就为要传输的对象,意思是将父页面的的整个对象传输到子页面里去。
所以在(如果父页面调模式窗口)子页面中就可以用window.dialogArguments来接受父页面传输过来的参数。
window.dialogArguments.document.forms[0].xxx.value;   
来或许父页面的任何值。
非模态刷新父页面:window.opener.location.reload();
模态刷新父页面:window.dialogArguments.location.reload();
相关问题另见:
http://www.iteye.com/problems/2372
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表