如何从javascript中找到模态对话框开启工具?

时间:2009-06-25 12:28:40

标签: javascript popup opendialog

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

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

5 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

这就是我从链接中得到的东西

在父母:

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

在模态中:

dialogArguments.parentVar = "set by modal";

PS:别忘了用“window.self”设置对开幕白的引用

答案 2 :(得分:0)

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

self.parent.location.reload();

也许这也适合你。

答案 3 :(得分:0)

如果你看https://developer.mozilla.org/En/DOM/Window.openDialog,你会看到你可以通过传递模态参数来使对话框模态化,这样它就不会返回,直到对话框完成,那时你可以重新加载父页面

答案 4 :(得分:0)

模态对话框是阻塞功能。呼叫者等待,直到盒子关闭,然后恢复。因此,在打开调用之后,在原始脚本中进行刷新是一件简单的事情 对话框。

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

用于打开模态对话框的HE代码,然后刷新网格

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