2012-03-12 6 views
3

ユーザーがページを移動することを選択した場合、そのページが汚れているかどうかを調べる最も良い方法は何ですか?たとえば、登録フォームがあり、ユーザーはすべての情報を入力します。その後、誤ってリンクをクリックしてそのリンクからナビゲートします。ダーティーフラグを確認する方法

人がフォーム入力値のいずれかを変更した場合、ページが汚れているかどうかを確認するWeb上でこれが見つかりました。

<script type="text/javascript"> 
var isDirty = false; 
var msg = 'You haven\'t saved your changes.'; 
$(document).ready(function(){ 
    $(':input').change(function(){ 
     if(!isDirty){ 
      isDirty = true; 
     } 
    }); 
    window.onbeforeunload = function(){ 
     if(isDirty){ 
      return msg; 
     } 
    }; 
}); 
</script> 

これは素晴らしいです。しかし、どのように私はポップアップであるいくつかのリンクを除外するのですか?これを行うより良い方法はありますか?

+4

なぜポップアップコールwindow.onbeforeunloadですか?私はwindow.openがアンロードを引き起こすとは思わない。 http://jsfiddle.net/skram/7d5ZW/3/ –

+0

ああ私はそれを実現しませんでした。あなたが正しいです。ありがとう。面白い私のソリューションはすべて一緒に働いた。 – MindGame

答えて

0

これらの入力にonclickイベントリスナーを追加し、「false false」を返す必要があります。 何かのhref = "#" onclickの= "return false;" を

$('a.className="popup"').onclick = function(){return false}; 

または

<

のような>テキスト</a >

関連する問題