0

我创建了以下jsfiddle

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

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

在网页中,它似乎window.onbeforeunload比点击事件更早抛出,因此即使您单击提交按钮,它也会始终显示警告对话框。

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

4

1 回答 1

1

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

只需添加一个将值返回为 false的submit处理程序。form_has_been_modified

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

工作演示

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

于 2013-07-29T12:21:53.020 回答