如何返回父窗体并刷新

jiayun1 2010-11-04 02:01:04
A页面 包含两个选项卡
第二个选项卡页面中,点编辑按钮,弹出B页面。我用的<Target="_blank" >这种方式。
请问B页面操作完,如何还能回到第二个选项卡呢?B页面操作过,数据要更新,所以选项卡页面还要刷新的。

类似于子窗口关闭后,父窗口要刷新。
...全文
430 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sirzxj 2010-11-04
  • 打赏
  • 举报
回复
showModalDialog窗口与window.open打开的窗口刷新本窗口时不同,showModalDialo窗口也不能用F5刷新,也没有右键操作
A. 在模式窗口页面中加入:
<base target="_self"> //在html和body之间
<a id="reload" href="本页面url" style="display:none"></a>

B. 在需要执行刷新操作的地方执行以下js:
reload.click();//reload为A中隐藏a标签的id,当然可以换成其它名称
fellowcheng 2010-11-04
  • 打赏
  • 举报
回复
一.刷新父窗口的方法:
A.使用window.returnValue给父窗口传值,然后根据值判断是否刷新。

在window.showModalDialog窗口页面中用window.returnValue方式设置返回值;
比如:window.returnValue='refresh';

B。在写window.showModalDialog弹出窗口函数时,定义个变量,然后根据变量值进行操作父窗口的操作;
例如:var winPar=window.showModalDialog(urls,'ERPWINDOWS','dialogWidth='+widths+'px;dialogHeight='+heigths+'px;status=no;center=yes;scroll=no');
if(winPar == "refresh")
window.location.reload();//当window.showModalDialog窗口关闭时执行
winPar为A步骤给showModalDialog窗口设置的返回值

总结:由于window.showModalDialog函数打开一个IE的模式窗口(就是打开后不能操作父窗口,只能等模式窗口关闭时才能操作),

所以想要刷新父窗口只能在模式窗口关闭后执行。用window.returnValue可以向父窗口传值,这样一来可以用从模式窗口向父窗口传递值,

然后根据值判断操作父窗口的方式来刷新。这样在任何关闭了模式窗口后父窗口都会自动刷新.

二.刷新模式本窗口
showModalDialog窗口与window.open打开的窗口刷新本窗口时不同,showModalDialo窗口也不能用F5刷新,也没有右键操作
A. 在模式窗口页面中加入:
<base target="_self"> //在html和body之间
<a id="reload" href="本页面url" style="display:none"></a>

B. 在需要执行刷新操作的地方执行以下js:
reload.click();//reload为A中隐藏a标签的id,当然可以换成其它名称


三。注意事项

在点击window.showModalDialog窗口的链接的时候会打开新窗口,想要阻止打开新窗口,需要在窗口页面中的html和body之间
加入: <base target="_self" />即可
tsp860901 2010-11-04
  • 打赏
  • 举报
回复
window.location.reload();

使用window.open()弹出的弹出窗口,刷新父窗口

非模态刷新父页面 :window.opener.location.reload()

使用window.showDialog弹出的模式窗口

模态刷新父页面 :window.dialogArguments.location.reload();

hch126163 2010-11-04
  • 打赏
  • 举报
回复
用 弹出层 + ajax
lilianjie0426 2010-11-04
  • 打赏
  • 举报
回复


window.opener.location.reload();

damjmk2 2010-11-04
  • 打赏
  • 举报
回复
我也想知道....同求,好像没有js控制IE7选项卡的资料
liuwei2500 2010-11-04
  • 打赏
  • 举报
回复
你用window.ShowModalDialog()
B操作完之后返回一个操作状态给A,然后A就可以根据状态来判断是不是要刷新了。
因为在B页面被show出来之后,没有操作完成的话,A是不会往下执行的。
吴青峰 2010-11-04
  • 打赏
  • 举报
回复
简单的问题,看你问的,好恶心。
不懂装懂 2010-11-04
  • 打赏
  • 举报
回复
关闭或提交时执行form_onload事件,两个页面可能不好实现,最好改成弹出遮蔽层

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧