ここの別の投稿で見つけたコードを使用していますが、うまく機能し、変更を保存する前にページを閉じようとすると、プロンプトが表示され、ページに留まるかどうか尋ねられます。問題は、保存ボタン (ポストバック付きの asp ボタン) をクリックすると、同じメッセージが表示されることです。
したがって、基本的に、保存ボタンのポストバックでの表示を停止する必要があります。
var form_clean;
// serialize clean form
$(function () {
form_clean = $("form").serialize();
});
// compare clean and dirty form before leaving
window.onbeforeunload = function (e) {
var form_dirty = $("form").serialize();
if (form_clean != form_dirty) {
return 'There is unsaved form data.';
}
};