window.onbeforeunload无法正常工作

问题描述 投票:0回答:1

我创建了以下jsfiddle

如果在任何编辑框中输入任何输入并尝试离开页面,则会显示警告,这是可以的。

如果输入任何输入并单击按钮,则在不符合要求时仍会显示警告。 (我需要阻止它显示)。

在网页中,似乎window.onbeforeunload的抛出早于on click事件,因此即使您单击“提交”按钮,它也将始终显示警告对话框。

这让我认为应该更改代码以处理事件的时间,但不确定吗?

javascript jquery html jquery-events onbeforeunload
1个回答
1
投票

听起来您想要做的是防止在提交表单时显示onbeforeunload消息。

仅添加将submit值返回为false的form_has_been_modified处理程序。

$("#additemform").on('submit', function(e) {
    form_has_been_modified = false;
});

Working Demo

在此演示中,我还清理了您的示例,删除了不必要的处理程序,并更改了form_has_been_modified以使用本地布尔值truefalse而不是0和1。

© www.soinside.com 2019 - 2024. All rights reserved.