如果用户提交多个表单,如果连接速度很慢并且他们一直按下"提交"按钮。
我有2个提交按钮,一个叫做"下一个"另一个被称为"上一个"。两个按钮都提交表单数据,然后重定向到相应的页面。
为了防止表单重复提交,我需要禁用提交按钮。但是,如果dom已更改并且我使用了jquery' $('form').submit()
,则Chrome会显示警告,警告用户他们正在离开该页面。如果用户决定通过点击"逗留"停留在页面上按钮,对话框关闭但我无法知道。我的按钮仍处于禁用状态。
$("#button").click(function(event) {
event.preventDefault();
$(".btn").attr("disabled", true);
$(this).closest("form").submit();
});
但是,如果表单已被更改,则会弹出此消息:
您想离开此网站吗?
您所做的更改可能无法保存。
离开 留下
如果用户决定留下,我的按钮将无法重新启用。
我似乎无法覆盖window.onbeforeunload
事件,因为我继承的可怕网络代码已经在处理该事件,我不想破坏当前的功能。
有没有办法检测用户在该Chrome对话框中选择的内容,以便重新启用我的按钮?
这是一个证明问题的方法:
答案 0 :(得分:0)
如果用户决定留下您没有可以收听的事件,但您可以启用onbeforeunload
回调中的按钮(如果他们这样做)