1

我有一个打开模式对话框的页面。在对话框上完成操作后,我想刷新打开器页面。但是当我使用“openDialog”打开弹出窗口时,我无法通过在弹出页面上使用 window.opener 来访问开启器。当我想访问时,它显示为“未定义”。(在这种情况下我不想使用“弹出”方法。顺便说一下,我希望它是一个对话框。使用“弹出”是我的第二个计划。)

摆脱这个问题的最佳做法是什么?

4

5 回答 5

3

从模态对话框修改父数据

从模态子窗口刷新父窗口

于 2009-06-25T12:50:06.387 回答
1

这就是我从链接中得到的

在父级中:

parentVar = "set by parent";
vRv = window.showModalDialog("modalWindow.html",window.self, "");

在模态中:

dialogArguments.parentVar = "set by modal";

PS:不要忘记使用“window.self”设置对开启器的引用

于 2010-05-31T11:17:38.917 回答
0

当我使用 Shadowbox 时,我可以访问它。

self.parent.location.reload();

也许这也适用于你。

于 2009-06-25T12:38:04.523 回答
0

如果您查看https://developer.mozilla.org/En/DOM/Window.openDialog您会看到您可以通过传递 modal 参数来使对话框成为模态,这样在对话框完成之前它不会返回,届时您可以重新加载父页面。

于 2009-06-25T12:41:32.677 回答
0

模态对话框是一个阻塞函数。调用者等到盒子关闭,然后恢复。因此,在调用打开对话框之后在源脚本中进行刷新是一件简单的事情。

例如,假设您有一个带有网格的页面。你有一个添加按钮来打开一个模态对话框,你需要网格刷新自己(或刷新页面,问题是一样的)。

这是打开模态对话框的伪代码,然后刷新网格

替换 grid.Refresh(); 无论您要执行什么操作,它都会在对话框关闭后执行。

于 2012-04-12T01:39:40.420 回答