我有以下函数,当填充$('.article_div textarea')
表单字段时,如果用户正在退出页面,则会向用户发出警告。
$(window).on('beforeunload', function(event) {
var unsaved = "Are you sure you want to exit?";
var text = $('.article_div textarea').val();
if (text.length > 0){
return unsaved;
}
});
但是,当他们单击提交按钮到实际表单时,我想阻止执行此弹出窗口。
我如何修改功能以解决此问题?提交按钮的元素是
$('button.submit_post')
。 最佳答案
您可以创建一个布尔值,该布尔值在您单击“提交”时将为正,或者在单击时删除卸载事件。代码如下:
var isSubmitClicked = false;
$('button .submit_post').on("click",onClick);
function onClick(e){
isSubmitClicked = true;
}
$(window).on('beforeunload', function(event) {
if(isSubmitClicked){
isSubmitClicked = false;
return;
}
// Rest of your method.
}