2009-06-25 6 views
1

モーダルダイアログを開くページがあります。ダイアログの操作が完了したら、オープナーページを更新したい。しかし、私が "openDialog"を使ってポップアップを開くと、ポップアップページでwindow.openerを使ってオープナーにアクセスすることができません。私がアクセスしたかったとき、それは "undefined"と表示されます。 (この場合は「ポップアップ」メソッドを使用したくないですが、ポップアップを使用することは私の第2の計画です)javascriptからモーダルダイアログオープナーを見つけるには?

この問題を解決するベストプラクティスは何ですか? ?

答えて

0

私はShadowboxを使うとこれにアクセスできます。

self.parent.location.reload(); 

これはおそらくあなたにとっても役に立ちます。

0

https://developer.mozilla.org/En/DOM/Window.openDialogを見ると、モーダル引数を渡すことでダイアログボックスをモーダルにすることができます。そのとき、ダイアログが終了するまで戻りません。そのとき親ページをリロードできます。

1

これは私が親にリンク

から得たことを必要とするものだった:モーダルで

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

を:

dialogArguments.parentVar = "set by modal"; 

PS: "window.self"でオープナーへの参照を設定しないでください。

0

モーダルダイアログボックスはブロック機能です。発信者はボックスが閉じられるまで待ってから再開します。したがって、ダイアログの後に を開くための呼び出しの後、元のスクリプトでリフレッシュを行うのは簡単なことです。

たとえば、グリッドのあるページがあるとします。モーダルダイアログを開くための追加ボタンがあり、それをリフレッシュするにはグリッドが必要です(またはページを更新する、問題は同じです)。ここ

)は、モーダルダイアログを開くには、擬似コードです、グリッドをリフレッシュ

(grid.Refreshを置き換えます。実行したいアクションがあれば、ダイアログボックスが閉じられた後に実行されます。

関連する問題