代码之家  ›  专栏  ›  技术社区  ›  Ali Ersöz

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

  •  1
  • Ali Ersöz  · 技术社区  · 17 年前

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

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

    5 回复  |  直到 17 年前
        2
  •  1
  •   Ozan BAYRAM    16 年前

    这是我需要的,我从链接中得到的

    在父项中:

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

    dialogArguments.parentVar = "set by modal";
    

        3
  •  0
  •   Ólafur Waage    17 年前

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

    self.parent.location.reload();
    

    也许这对你也有用。

        4
  •  0
  •   John Boker    17 年前

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

        5
  •  0
  •   KenF    14 年前

    模式对话框是一种阻止功能。调用者等待框关闭,然后继续。因此,在调用open之后,只需在origin脚本中进行刷新

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

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

    推荐文章