我在表单中有许多输入,并且仅在编辑输入字段后才想打开警报弹出窗口。我该如何管理?
我之前所做的是,每当打开编辑页面时,我只是在检查长度,如果长度大于零,则会发出警报。
但是现在,仅当我按任意键并按返回按钮时,我才需要获得警报。有什么解决办法吗?
最佳答案
首次加载页面/文档时,请创建一个变量,以跟踪各种输入字段的当前状态,例如
window.unsaved = false
。
当用户在您的任何输入字段上按下任意键时(使用事件侦听器进行检查,或者如果您使用的是jquery,则使用keydown事件进行检查),将unsaved
更改为true
。在onbeforeunload
中,检查是否未保存== true,如果是,则显示警报。
如果使用jQuery,则可以执行以下操作:
$(document).ready(function(){
// put this next variable in the global scope (window.) so you can
// access it from unload
window.unsaved == false;
$('input').keydown(function(){
window.unsaved == true;
})
})
$( window ).unload(function() {
if(window.unsaved == true){
alert('You have unsaved work.');
}
});
关于javascript - 如果在javascript中按下了后退按钮,如何显示警报消息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36403518/