使用未保存的更改从页面导航时警告用户
我正在创建一个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?" }; }); });