我对onbeforeunload和form.submit()感到很疯狂。你是我最后的希望......
我所拥有的是一张表格。如果用户单击后退按钮,则会导致很多麻烦,因此window.onbeforeunload会显示警告。因此,应该允许提交表单,因此form.onsubmit设置一个全局变量来告诉onbeforeunload-function要关闭。到目前为止还好。
有时表单必须通过JS自动提交。我无法访问调用form.submit()的函数 - 或者更确切地说 - 用户将创建一些可能包含form.submit()的简单代码。
关键是form.submit()根据规范不会触发表单的onsubmit事件。因此,尝试通过form.submit()定期发送表单会让我考虑关闭页面。
所以回到我的希望:有没有人有一个如何解决这个恶性循环的好主意?
非常感谢 BurninLeo
答案 0 :(得分:2)
var form = document.getElementById('the-form'),
sub = form.submit;
form.submit = function(){
alert('caught submit');
sub.apply(form);
}
form.submit();