关注问题和答案 Create confirm JavaScript for when users try to leave page without saving 来自MarkR的解决方案
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit() {
return "Please click Update. Unsaved changes will be lost.";
}
</script>
工作正常 - 除非它要求我确认即使我点击“提交”按钮。我理解为什么。我的问题是,如果使用“提交”按钮,如何跳过代码的执行? 感谢。
答案 0 :(得分:1)
当用户提交表单时删除beforeunload
处理程序。
document.getElementById("formid").addEventListener("submit", function() {
window.onbeforeunload = null;
});
答案 1 :(得分:0)
如果用户按下“提交”,我建议将其余值submitted
设置为true
,但当用户更改页面上的任何输入时,我会建议重置为false
。这实际上取决于您正在开发的应用程序类型。
我假设你有input
个type
字段,我会做
$('input').change(function(e) {
window.submitted = false;
})
然后检查window.submitted
功能中的confirmExit
值。