0

ページ上のリンクがクリックされたときにページが移動しないようにするにはどうすればよいですか。次のコードがありますが、代わりにメッセージが2回表示されます。このページにはデータグリッドもあります。グリッド上のレコードをクリックしてページから移動した場合にのみ、ポップアップするメッセージが2回表示されます。それ以外の場所は問題ありません。

   var canShowWarning = "@(Model.CanEdit)";
var showWarning = false;

window.onbeforeunload = function () {
    if (canShowWarning && showWarning) {
        return 'You have made unsaved changes';
    }
}
$(function () {
$("#Form").submit(function () {
        showWarning = false;
    });

    $("#Form").change(function () {
        showWarning = true;
    });
});
4

1 に答える 1

0
var canShowWarning = "@(Model.CanEdit)";
var showWarning = false;
var alreadyShown = false;

window.onbeforeunload = function () {
    if (canShowWarning && showWarning && !alreadyShown) {
        alreadyShown = true;
        return 'You have made unsaved changes';
    }
}
$(function () {
$("#Form").submit(function () {
        showWarning = false;
    });

    $("#Form").change(function () {
        showWarning = true;
        alreadyShown =  false;
    });
});
于 2013-02-20T13:17:40.260 に答える