javascript - 添加了当用户点击后退按钮时的提醒,但现在我想在提交表单时将其删除

标签 javascript jquery html forms

我有一个很长的调查,我想防止用户单击后退按钮并丢失所有数据。到目前为止,我有一个警报告诉他们他们将丢失所有数据,但是当他们提交表单以处理页面时,它会弹出警报。有没有一种方法可以仅在他们按下提交按钮时禁用警报?这是我用来创建警报的方法:

window.onbeforeunload = function() { return "Your work will be lost."; };

最佳答案

你可以这样设置beforeunload监听器:

var preventUser = function() {
    return "Your work will be lost";
}
window.addEventListener('beforeunload',preventUser);

然后,当用户提交表单时,您可以通过这种方式移除监听器:

function onSubmitForm(){
    window.removeEventListener('beforeunload',preventUser);
}

例如:

<button onclick="onSubmitForm()">Submit Form</button>

关于javascript - 添加了当用户点击后退按钮时的提醒,但现在我想在提交表单时将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21739871/

相关文章:

javascript - 我如何在 HTMLPurifier 中允许脚本、对象、参数、嵌入和 iframe 标签?

javascript - 根据选项类别而不是值显示不同的内容

java - jsp中如何对从数据库获取的数据添加分页

javascript - 无法使 javascript 下拉菜单正常工作

javascript - 防止选择中的右/左箭头导航

HTML CSS 如何阻止表格单元格扩展

javascript - jQuery 从 name[] 获取选中的复选框

javascript - 使用类和构造函数将 JavaScript 对象基于另一个对象

javascript - jQuery:通过 anchor 链接滑动

javascript - 在对话框中 knockout ASP MVC 问题