问题标签 [double-submit-prevention]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在提交时禁用带有 javascript 的表单以防止重复提交
我想在提交表单后禁用表单,以防止重复提交。我认为非常标准的用例,但我能找到的所有示例都有缺陷。
我能找到的一切都是基于禁用提交按钮,但这并不妨碍如果用户在表单上按下回车键重新提交表单,这是一种非常常见的方法。
我正在考虑修改其中一个现有的脚本来解决这个问题,但在我重新发明轮子之前,有没有人知道已经正确处理这个问题并且他们能够共享的脚本?我真的很惊讶那里似乎还没有任何东西。
jquery - Disabled jQuery UI Button Remains Disabled on Returning to Page
I have a JQuery UI submit button on a form when it's clicked to both prevent double-clicking and to also make it visibly clear that it was in fact clicked properly.
So I use jQuery to do this:
It works, but the problem is when the user hits their back button it remains disabled. What's the proper way to disable a submit button when clicked? I obviously use jQuery, so preference is to use jQuery.
UPDATE: many people suggested I use $(document).ready(function() {$('input:submit').button('enable');});
to overcome this persistent disabling of the button. It turns out that won't work if it comes before my button initialization call in $(function() {}
. But if I put that button('enable') after my button initialization code, even in the $(function() {})
section, then it works as expected.
But now I realize this whole button disabling only works in Firefox! If I disable the button, the form won't submit in IE and Chrome (haven't tested others)!
UPDATE 2: I finally got this to work, though a bit concerned some browsers are not going to be able to submit things with these workarounds... Here's my final code, would love to hear opinions of potential issues:
javascript - 防止 Rails link_to_remote 多次提交 w Javascript
在 Rails 项目中,我需要防止 link_to_remote 被双击。看起来 :before 和 :after 是我唯一的选择——它们分别被添加/附加到 onclick Ajax 调用中。但是,如果我尝试类似:
Ajax 永远不会运行。如果我在运行 Ajax 之后尝试它,但链接永远不会停止观察。
我见过的解决方案依赖于创建一个变量并阻止整个表单,但是此页面上有多个 link_to_remote 行,一次单击多个行是有效的 - 只是两次不同。在 link_to_remote 之外声明的每行一个变量似乎非常笨拙......
我最初没有使用原型,而是首先尝试使用纯 Javascript 来进行概念验证——但它也失败了:
<a href="#" onclick="self.onclick = function(){alert('foo');};">点击</a>
只是在单击时发出警报-这里的 lambda 什么都不做?下一个更像是预期的目标,应该只在第一次提醒。但相反,它每次都会发出警报:
<a href="#" onclick="alert('bar'); self.onclick = function(){return false;};">点击</a>
所有想法表示赞赏!
asp.net-mvc-3 - ASP.NET MVC - 如何使用 jquery.validate.unobtrusive lib 防止双击提交?
我需要避免双击提交行为。我正在将客户端验证与不显眼的库一起使用。我有以下代码可以避免双重单击:
不幸的是,如果我的表单有一些有效字段(例如,必填字段),上面的代码仍然会被触发,因此,即使我更正了表单上的任何错误,我也无法再次提交。
验证成功后如何触发双击代码?
gwt - 如何在 GWT 应用程序中防止 DoubleSubmit?
澄清一下双重提交是什么:当用户点击提交按钮两次时,服务器将处理相同的 POST 数据两次。为了避免这种情况(除了在单次提交后禁用按钮),大多数 Web 框架(如 Struts)都提供了令牌机制。我正在 GWT 中寻找与此等效的东西。
web-applications - 解决双重提交问题
我想看看 Web 开发人员如何避免重复提交问题。所以基本上我对这个问题的理解如下:
当不耐烦的用户多次提交表单时,会发生双重提交,从而导致问题。这个问题可以通过 JavaScript(特别是 jQuery 脚本)来解决,一旦表单提交就禁用提交按钮 - 如果客户端禁用了 JavaScript,则此问题的一个弱点是。
还有服务器端的检测方法。
所以我的问题是:
人们如何克服双重屈服?双重提交导致问题的真实例子是什么?是否有任何 Web 应用程序框架内置了双重提交工具?
javascript - 如果用户中断重定向到新页面,则禁用的提交按钮保持禁用状态
我想在使用 javascript 按下提交按钮后禁用它。
myForm.onsubmit = function() { ... mySubmitButton.disabled = true; ... }
但是当用户在当前页面仍然存在的情况下停止打开新页面时,该按钮仍处于禁用状态。
如果来自服务器的内容是一个文件,也会有同样的结果(在这种情况下不会重定向到新页面)。
有没有办法确定浏览器是否不再“想要”加载新 URL 并重新启用 mySubmitButton?
javascript - 如何防止此函数在 x 毫秒内执行超过 2 次?
当我到达滚动底部时,如何防止它被执行两次?
我看到的选项:
我尝试设置一个 var loading_already == false 并且类似:
在哪里
但是没有成功,有什么建议吗?
谢谢!
asp.net-mvc-3 - ajax - 防止双击提交
如何防止用户双击作为 ajax 部分视图的注册表单上的提交按钮?
我很遗憾地问,因为这已经被问到了。无论我在哪里搜索,我现在都找不到明确的工作答案。禁用按钮阻止提交。使用 var javascript clickcount+alert+return_false 不会重置。
环境:asp.net mvc3
查看:
表单显示加载:@RenderPage("_SignupForm.cshtml")
提交使用:
提交控制:<input type="submit" value="Sign up" />
注册控制器:
php - 刷新php时双重提交
我正在尝试纠正脚本中双重提交的问题。当我按下提交时,它只更新一次mysql(这是我想要的)。但是,当我点击刷新时,它会再次更新 mysql。一旦点击刷新按钮,它似乎会忽略 if 语句。我该怎么做才能阻止这
这是我的代码