0

我对 onbeforeunload 和 form.submit() 快疯了。你是我对绝妙主意的最后希望...

我有的是一个表格。如果用户点击后退按钮,这会带来很多麻烦,所以 window.onbeforeunload 会显示警告。当然应该允许提交表单,因此 form.onsubmit 设置了一个全局变量来告诉 onbeforeunload 函数关闭。到目前为止还好。

有时表单必须通过 JS 自动提交。而且我无法访问调用 form.submit() 的函数——或者更准确地说——用户将创建一些可能包含 form.submit() 的简单代码。

关键是 form.submit() 根据规范确实不会触发表单的 onsubmit 事件。因此,尝试通过 form.submit() 发送表单会定期告诉我考虑关闭页面。

所以回到我的希望:有没有人知道如何解决这个恶性循环?

非常感谢 BurninLeo

4

1 回答 1

2
var form = document.getElementById('the-form'),
     sub = form.submit;

form.submit = function(){
    alert('caught submit');
    sub.apply(form);
}

form.submit();
于 2011-07-06T23:17:02.447 回答