我在表单中有很多输入,并且仅在编辑输入字段后才想打开一个警报弹出窗口。我该如何管理?
我之前所做的是,每当打开编辑页面时,我只是在检查长度,如果长度大于零,我会发出警报。
但是现在,只有当我按任意键并按“后退”按钮时,我才需要获得警报。有什么解决办法吗?
首次加载页面/文档时,创建一个变量来跟踪各种输入字段的当前状态,例如
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.');
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句