用户试图离开页面而不保存时的JavaScript警报
按照问题和答案 来自MarkR的解决方案用户试图离开页面而不保存时的JavaScript警报,javascript,Javascript,按照问题和答案 来自MarkR的解决方案 <script language="JavaScript"> window.onbeforeunload = confirmExit; function confirmExit() { return "Please click Update. Unsaved changes will be lost."; } </script> window.onbeforeunload=确认退出; 函
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit() {
return "Please click Update. Unsaved changes will be lost.";
}
</script>
window.onbeforeunload=确认退出;
函数confirmExit(){
return“请单击“更新”。未保存的更改将丢失。”;
}
工作正常-除了它要求我确认,即使我点击“提交”按钮。我明白为什么。但我的问题是,如果使用提交按钮,如何跳过代码的执行?
谢谢。当用户提交表单时,在卸载之前删除
处理程序
document.getElementById("formid").addEventListener("submit", function() {
window.onbeforeunload = null;
});
我建议将附加值submitted
设置为true
,以防用户按下“Submit”,但当用户更改页面上的任何输入时,该值将重置为false
。这实际上取决于您正在开发的应用程序的类型
我假设您有不同类型的输入字段,我会这样做
$('input').change(function(e) {
window.submitted = false;
})
然后检查窗口。在confirmExit
函数中提交的值