2012-02-14 7 views
20

window.open()を使用して開いたポップアップウィンドウがあります。私が今したいのは、ユーザーがこの新しいウィンドウ内の2つのリンクの1つ、「許可する」または「許可しない」をクリックできることです。閉じる時に親にデータを返すポップアップウィンドウ

ユーザーがこれらのリンクの1つをクリックすると、 'ポップアップ'ウィンドウが閉じられ、親ウィンドウにtrue/falseの行に沿って「許可」または「許可しない」か何かが表示されます。

可能ですか?もしそうなら、どうですか?

コード:auth.php内部

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

それからちょうど2アンカー?

+0

これまであなた自身で何かを試しましたか?モーダルポップアップを使用することができます –

+0

コードを投稿できますか? – Unknown

+0

コードが掲載されていますか?私は本当に必要性を見ませんが、ハハ。 –

答えて

52

(親)ウィンドウには、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> 
+0

関数CloseMySelfはリンクがちょうど#になり、ウィンドウが閉じていないのでエラーが発生しています。 –

+0

@Joey申し訳ありませんが、私のコードにバグがありました。 (JavaScriptで 'catch 'には次の括弧が必要です) –

+0

ありがとうございました:) –

4

これにはwindow.openerを使用できます。呼び出し元で

関連する問題