2011-07-08 11 views
7

を提出する場合を除き、ウェブページを残してから、私はこのJavaScriptを使用しています彼らはメッセージを書いていますが、提出していないからです。これは、ユーザーがこのデータを失うのを防ぐために表示されます。停止ユーザーの私のページを残してからユーザーを停止するには、フォーム

今、フォームの送信時にこのメッセージが表示されないようにするにはどうすればよいですか?

答えて

5

フォームの送信ハンドラにフラグを設定します。アンロードハンドラにフラグが設定されているかどうかを確認してください。もしそれが - voilaなら、それはフォーム提出です!

+0

これはずっと簡単でした。ありがとう –

9
function handleWindowLeaving(message, form) { 
    $(window).bind('beforeunload', function (event) { 
     return message; 
    }); 
    $(form).bind('submit', function() { 
     $(window).unbind('beforeunload'); 
    }); 
}; 

これを呼び出すと、メッセージとフォーム参照が渡され、フォームを送信するときに自動的に削除されます。それ以外の場合は、ユーザーにメッセージを表示

+0

フォームの参照はどういう意味ですか?名前札を意味しますか? –

+0

希望のフォーム要素のjQueryセレクタを意味します。 $( 'form')例えば – archil

関連する問題