2

modaldialog( showModalDialog()) を使用する Web アプリケーションを開発しています。ユーザーはいくつかのテキストフィールドに入力する必要があり、ユーザーが間違いを犯した場合は通常の Web フォームとして、ダイアログをリロードする必要があります。を使用してこれを思いつくことができましたlocation.reload(true);

しかし、これは IE では機能しません。何か不足していますか、それとも制限はありますか? 私を案内してください。

ありがとう

4

1 に答える 1

5

次のような手間をかけるのは、location.hrefへの割り当てが機能しないためです。モーダルの親からページをロードする別のウィンドウのみが開きます。

まず、ヘッドセクションにベースタグを作成する必要があります。

<head>
    <base target="_self" />
</head>

次に、ユーザーがリンクをクリックするのをシミュレートします。このリンクは、リロードプロセスをアクティブ化するためのスクリプトのユーティリティにすぎないため、非表示にすることをお勧めします。このリンクをリロードと呼びましょう。</p>

<a id="reload">reload</a>

モーダルダイアログをリロードするスクリプトは次のとおりです。

// Get the link object to simulate user click
var reload = document.getElementById('reload');

// Assign the modal url to the link then click!
reload.href = window.location.href;
reload.click();

これで、IEのモーダルダイアログを更新できるようになります。

于 2013-02-01T04:37:18.720 に答える