javascript – 请勿确认用户是否提交表单

我正在使用以下 JavaScript代码来警告用户,如果他尝试重定向到另一个页面而不提交表单.
window.onbeforeunload = function() {
   return 'Are you sure that you want to leave this page?';
};

这工作正常.但我的问题是当用户尝试使用提交按钮确认框提交表单时将出现.
我不想询问用户是否提交表格,否则我想要确认.这怎么可能?

解决方法

保持状态变量.当用户点击提交按钮设置状态为userSubmitted = True;
状态变量可以包括全局变量或隐藏控件.
var userSubmitted=false;

$('form').submit(function() {
userSubmitted = true;
});

那么检查一下

window.onbeforeunload = function() {
    if(!userSubmitted)
        return 'Are you sure that you want to leave this page?';
};

PS:交叉检查onbeforunload兼容性的跨浏览器.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...