我有一个打开模态对话框的页面。在对话框上完成操作后,我想刷新开启页面。但是当我使用“openDialog”打开弹出窗口时,我无法通过弹出页面上的window.opener访问开启者。当我想访问它时,它看起来是“未定义的”。 (在这种情况下,我不想使用“弹出”方法。顺便说一句,我希望它是一个对话框。使用“popup”是我的第二个计划。)
摆脱这个问题的最佳做法是什么?
答案 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();无论你想要发生什么动作,它都会在对话框关闭后执行。