2

私は人々がオンラインテストを受けることができるアプリケーションを持っています、ユーザーが別のページに移動すると、ページから出て行くと詳細が失われる可能性があるようにページが警告するはずです...私は試しましwindow.unload()たが、必要なのはそれが表示されるはずですユーザーが別のページに移動したときにのみアラートを表示

test.php 例:ユーザーが次の質問のために次のボタンをクリックするとページがリダイレクトされるマイページIDtest.php?queNumber=2 リダイレクトがtest.phpに発生した場合、about.phpやhelp.phpなどの他のページにリダイレクトしてもアラートは表示されません。これを達成する方法???

前もって感謝します

4

2 に答える 2

0

これは、Javascriptによってクライアント側で制御されます。

最も簡単なのは、jQueryを使用することです。これは、非常に簡単に実行できるためです。

  1. jQueryを頭に追加します-リンクされているjQueryページの詳細。

  2. HTMLで、ユーザーに警告するリンクにクラスを追加します。例:

    <a href=".." class="pop">Link Text</a>
    
  3. 次に、の行に沿っていくつかのJavascriptを追加します

    $().ready( function() {
        $('.pop').click( function(e) {
           if (! confirm('You are about to leave - are you sure')) {
               e.preventDefault();
               return false;
           } else {
               return true;
           }
        });
    });
    

注:リンクが多すぎる場合や不明なリンクがある場合は、ロジックを逆にして、警告したくないリンクのみにマークを付けることができます。したがって、test.phpのリンクにクラスを追加し、残りはマーカークラスなしのままにします。次に、すべてのリンクを確認し、クラスがある場合はプロンプトを表示しないでください。

于 2012-11-07T11:54:54.960 に答える
0

ページ内のすべてのアンカーにイベントを割り当てることができます。このイベントは、アンカーの href に「test.php」が含まれているかどうかを確認する必要があります。

次のコードを試してください。

$('a').click(function(event) {
   var href = $(this).attr('href');
   if(href.indexOf('test.php') == -1) { //if href does not contain test.php
      event.preventDefault();
      alert('You are about to leave');
   }
});
于 2012-11-07T12:00:42.470 に答える