当从未保存更改的页面导航时警告用户

Warn User When Navigating from Page with Unsaved Changes

本文关键字:导航 警告 用户 保存更改      更新时间:2023-09-26

我正在创建一个ASP。. NET网站,我想实现逻辑来警告用户,当他们从他们已经编辑的页面导航。

我在网上找到了相当多的信息,虽然大多数似乎相当过时。注意,关于jQuery,我还有很多东西要学。

下面的代码按预期显示消息。

window.onbeforeunload = function () {
    return 'You have unsaved changes!';
}

然而,下面的代码——只有在进行更改时才应该等于上面的代码——不起作用。没有任何警告显示。

$('input').change(function () {
    window.onbeforeunload = function () { return "Your changes have not been saved?" };
});

谁能说一下为什么第二个片段不起作用?或者你可以给我指一份最近的参考资料

执行代码时,您的输入元素可能不存在。尝试使用.live函数来检测所有输入元素的更改,或者将代码包装在$(document).ready()处理程序中。

的例子:

$('input').live("change", function () {
    window.onbeforeunload = function () { return "Your changes have not been saved?" };
});

$(document).ready(function () {
   $('input').change(function () {
      window.onbeforeunload = function () { return "Your changes have not been saved?" };
  });
});