下面的代码称为“点击保存!”如果输入字段发生更改并且有人尝试从页面导航离开而不单击提交按钮进行保存,则会弹出。

有人可以告诉我如何对此做一个小的更改,称为“单击保存!”。即使没有对任何输入字段进行任何更改,也可能弹出任何试图离开该页面的尝试(但是,如果他们单击“提交”按钮,当然仍然没有弹出窗口)?

var warnMessage = "Click Save!";

$(document).ready(function() {
    $('input:not(:button,:submit),textarea,select,text').change(function () {
    window.onbeforeunload = function () {
        if (warnMessage != null) return warnMessage; }});
    $('input:submit').click(function(e) {
                warnMessage = null;
    });
});

最佳答案

var warnMessage = false;

window.onbeforeunload = function (event) {
    if (!warnMessage) {
        return;
    }
    else {
        return "You have unsaved changes on this page.  If you wish to save these changes, stay on the current page.";
    }
}

$(document).ready(function () {
    $('input:not(:button,:submit),textarea,select,text').change(function (event) {
        warnMessage = true;
    });

    $('input:submit').click(function () {
        warnMessage = false;
    });
});

09-25 17:55