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