从beforeunload事件中排除提交按钮

Exclude submit button from beforeunload event

本文关键字:提交 按钮 排除 beforeunload 事件      更新时间:2023-09-26

我正在检测页面中的表单更改,因此我已经处理了

$('#element').change(function(){
metaDataChange = true;
});

这样,当用户离开页面并且在表单中的输入中进行了更改时。他/她将被提醒是离开还是留在页面上,就像在Facebook中,你试图发布状态,然后离开页面一样,会提示一个对话框,让你可以选择离开或留在页面上。

$(window).on('beforeunload', function() {
    if(metaDataChange === true || basicInfoChange === true){
        return "You have unsaved changes, do you want to leave without saving?";       
    }
});

然而,上面的代码运行良好。。我想为此排除提交按钮。因为当我点击"提交"时,提交按钮的行为意味着重定向到另一个页面。当用户实际上打算保存他/她的更改时,会再次提示用户相同的消息。

如何将提交按钮排除在窗口的beforeunload事件中?我很难解释。。。我希望它能被理解。。谢谢

$('#submitButton').click(function(){
metaDataChange = false;
...redirecting 
});