Всплывающее окно для возврата данных родителю при закрытии - PullRequest
24 голосов
/ 14 февраля 2012

У меня есть всплывающее окно, открытое с помощью window.open().Теперь я хочу, чтобы пользователь мог щелкнуть одну из двух ссылок в этом новом окне: «Разрешить» или «Не разрешать».

Когда пользователь нажимает одну из этих ссылок, всплывающее окно'окно должно закрыться и вернуть либо «разрешить», либо «не разрешить», либо что-то в этом духе, true / false сделает для родительского окна.

Возможно ли это?Если да, то как?

Код:

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

Тогда просто 2 якоря внутри auth.php?

Ответы [ 2 ]

58 голосов
/ 14 февраля 2012

В вызывающем (родительском) окне добавьте такой код 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>
4 голосов
/ 14 февраля 2012

Вы можете использовать window.opener для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...