2012-03-01 37 views
1

PopUp1(page0.aspx)というポップアップがあります。ユーザーがPopUp1のGridViewの行をクリックすると、新しいpage1.aspxを読み込むポップアップが開きます。ポップアップが閉じられたときに特定のページを更新する(jQuery)

ユーザーが新しいポップアップ(page1.aspx)のリンクをクリックすると、コンテンツはpage2.aspxのリンクに置き換えられます。

必要なもの:ユーザーが2番目のポップアップウィンドウ(page1.aspxまたはpage2.aspxを開く)を閉じると、PopUp1(page0.aspx)が更新されます。

どうやってjQueryで行うことができますか?

答えて

2

プレーンを使用することができます。あなたのJavaScriptで

<body onunload="refreshParent();"> 

var refreshParent = function() { 
    if (opener && !opener.closed) { 
     opener.location.reload(); 
    } 
}; 

編集:あなたの新しいポップアップ(page1.aspxかにPage2.aspx)、次のjQueryを入れて、それが開いたウィンドウを更新しなければならないで

$(window).unload(refreshParent); 
+0

私はエラーが発生しました: 'refreshParent'は定義されていません。 –

+0

アンロードハンドラへのコールバックとして関数を渡す前に、関数を定義していることを確認してください。 – jbabey

0

あなたのマークアップでは

(あなたは、このための任意のjqueryのを必要としない)、その親をリフレッシュするために、いくつかのJavaScriptを追加するJavaScript page1.aspxとにPage2.aspxで

window.opener.reload(); 
+0

しかし、javascriptファイルですか?私はpage0.js、page1.jsとpage2.jsを持っています –

+0

page1.aspxとpage2.aspx。ボディタグのonunloadはwindow.opener.reloadを呼び出します – roel

+0

私はエラーが発生しました。オブジェクトは定義されていません –

1

:あなたが残しておきたい場合は代わりに、あなたのロジックは、あなたのマークアップから区切りそのポップアップが閉じたり更新されたとき:

$(window).unload(function(){ 
    window.opener.location.reload(); 
}); 

あなたはまた、あなたのページにワークフローロジックのいくつかの種類をしたい場合は.ASSIGNメソッドを使用して、開始ページの場所を変更することができたい場合は、 たとえば、window.opener.location.assign('http://newurl');

関連する問題