0

StackOverflow では、新しい質問をするときに質問を入力し、そのページから離れようとすると、「よろしいですか」という確認が表示されます。

ASP.Net アプリケーションで同じことをしたい:

ユーザーはアンケートに記入する必要があり、回答を一時的に保存するオプションがあります。ユーザーが回答を一時的に保存せずにページから移動することを決定した場合、ポップアップの確認を求め、ユーザーに回答を保存するように求めます。

2 つの質問:

  • ASP.Net でページがアンロードされる前に確認ポップアップを表示する適切な方法は何ですか?
    beforeunload イベントのことは知っていますが、これを 1 つの大きな JavaScript ハックにしたくありません。

  • ユーザーが[保存]ボタンをクリックしたときに確認を開始したくありません(とにかく回答を保存しています)

4

3 に答える 3

4

アクションを書く必要があります

onbeforeunloadイベント

これは、ページがアンロードされる前に発生します

<HTML>
<head>
<script>
function closeIt()
{
  return "Any string value here forces a dialog box to \n" + 
         "appear before closing the window.";
}
window.onbeforeunload = closeIt;
</script>
</head>
<body>
  <a href="http://www.microsoft.com">Click here to navigate to 
      www.microsoft.com</a>
</body>
</html>
于 2009-10-12T09:10:34.853 に答える
0

「onbeforunload」イベントに注意を払う必要があります。 [保存]ボタンについては、このイベントの購読を解除するなど、スクリプトロジックを作成できます。

于 2009-10-12T09:12:10.527 に答える
0

これを試すことができます:

<button onclick="javascript:doSend()">send</button>
<button onclick="window.xbuttons +='save ';">save</button>
<button onclick="window.xbuttons +='edit';">edit</button>
<script>
   window.xbuttons = '';
   window.onbeforeunload = function(){
      if(!window.xbuttons.match(/save|edit/))
         return "Do you want to leave this page?";
   }
</script>

onbeforeunload について注意すべき点は次のとおりです。

  1. onbeforeunloadイベントは、href 属性を持つ a (アンカー要素) ごとに発生します
  2. onbeforeunloadイベントは、JavaScript またはアドレス バーの URL を変更してドキュメントの場所が変更されたときに発生します。
  3. onbeforeunloadイベントは、javascript:疑似プロトコルを使用するすべてのイベントで発生します。
于 2009-10-12T09:40:42.780 に答える