1

モーダルダイアログを開くページがあります。ダイアログで操作を行った後、オープナーページを更新したいと思います。しかし、「openDialog」を使用してポップアップを開くと、ポップアップページのwindow.openerを使用してオープナーにアクセスできません。アクセスしたいときに「未定義」と表示されます。(この場合、「ポップアップ」メソッドを使用したくありません。ちなみに、ダイアログにしたいのです。「ポップアップ」を使用するのが私の2番目の計画です。)

この問題を取り除くためのベストプラクティスは何ですか?

4

5 に答える 5

1

これは私がリンクから得た必要なものでした

親で:

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

モーダルで:

dialogArguments.parentVar = "set by modal";

PS:「window.self」でオープナーへの参照を設定することを忘れないでください

于 2010-05-31T11:17:38.917 に答える
0

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

于 2009-06-25T12:41:32.677 に答える
0

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

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

HEreのモーダルダイアログを開いてグリッドを更新する擬似コード

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

于 2012-04-12T01:39:40.420 に答える