弹出窗口在关闭时将数据返回到父级

时间:2012-02-14 11:31:51

标签: javascript jquery popup

我使用window.open()打开了一个弹出窗口。我现在想要的是让用户能够点击这个新窗口中的2个链接之一:“允许”或“不允许”。

当用户点击其中一个链接时,“弹出”窗口应关闭,并返回“允许”或“不允许”或沿着这些行的某些内容,true / false做到父窗口。

有可能吗?如果是这样,怎么样?

代码:

var authWindow = window.open('auth.php', 'authWindow', 'options...');

然后auth.php内只有2个锚?

2 个答案:

答案 0 :(得分:58)

在调用(父)窗口中添加这样的JS代码:

function HandlePopupResult(result) {
    alert("result of popup is: " + result);
}

在子窗口代码中添加:

function CloseMySelf(sender) {
    try {
        window.opener.HandlePopupResult(sender.getAttribute("result"));
    }
    catch (err) {}
    window.close();
    return false;
}

并有这样的链接来关闭弹出窗口:

<a href="#" result="allow" onclick="return CloseMySelf(this);">Allow</a>
<a href="#" result="disallow" onclick="return CloseMySelf(this);">Don't Allow</a>

答案 1 :(得分:4)

您可以使用window.opener