我有一个通过AJAX提交的表格。
<%= form_for([@map, @annotation], :remote => true ) do |f| %>
...
<%= f.submit "Save annotation", :class => "btn btn-primary", :id => "annotation-submit-button" %>
<% end %>
我想防止重复提交。由于仅在成功完成请求后该表单才会消失,因此只要数据库尚未完成数据写入,用户就可以单击“提交”按钮。显然,我不需要。
我尝试将其添加到“提交”按钮本身中,但是它不起作用。该按钮被禁用,但是没有数据发送。
:onclick => "this.disabled = true"
我也尝试将点击处理程序添加到“提交”按钮。具有与以前相同的效果。实际上没有数据发送到控制器,但是按钮已禁用。
$("#annotation-submit-button").click(function(event) {
$(this).attr("disabled", "disabled");
return false;
});
也尝试了同样的方法,没有返回false
。禁用按钮后没有任何反应。
$("#annotation-submit-button").click(function(event) {
$(this).prop("disabled", "disabled");
});
我开始认为这是特定于Rails的东西?
disable_with
在Rails 3及更高版本的视图中尝试如下所示:
<%= f.submit "Save annotation", :data => {:disable_with => "Saving..."}, ... %>
对于Rails 2:
<%= f.submit "Save annotation", :disable_with => "Saving...", ... %>
问题内容: 我的表单需要服务器处理一些时间。我需要确保用户等待并且不会再次单击按钮来尝试重新提交表单。我尝试使用以下jQuery代码: 当我在Firefox中尝试此操作时,所有功能都被禁用,但是该表单未与应该包含的任何POST数据一起提交。我不能使用jQuery提交表单,因为我需要将按钮与表单一起提交,因为有多个提交按钮,并且我确定POST中包含哪个值使用了哪个按钮。我需要像平常一样提交表单,并且
1、通过JavaScript屏蔽提交按钮(不推荐) 2、给数据库增加唯一键约束(简单粗暴) 3、利用Session防止表单重复提交(推荐) 4、使用AOP自定义切入实现
问题内容: 我有一个简单的表格,我不想多次意外提交。 当他们第一次看到该页面时,我可以轻松地阻止他们进行多次单击,但是我无法控制他们单击“后退”按钮。 因此,在与Struts合作之后,我决定采用表单提交令牌。 有更容易的方法吗?Seam中已经有此功能吗?如果没有,我应该如何在Seam中构建此功能? //编辑//这里只是澄清一下,我不需要某些东西可以防止用户双击。已经解决了。 具体用例如下:用户单击
本文向大家介绍一个JavaScript防止表单重复提交的实例,包括了一个JavaScript防止表单重复提交的实例的使用技巧和注意事项,需要的朋友参考一下
问题内容: 我试图找到一种方法来防止用户重复提交我的表格。我有禁用了提交按钮的javascript,但是仍然偶尔有用户找到重复提交的方法。 我对可以创建一个可重用的库进行保护的构想。 在我理想的库中,代码块如下所示: 锁表如下所示: Submit_hash#提交参数的MD5 响应#腌制数据 created_at#用于清除该表 lock_expired#布尔值,表示锁是否已过期 有谁知道这是否已经存
本文向大家介绍php 防止表单重复提交两种实现方法,包括了php 防止表单重复提交两种实现方法的使用技巧和注意事项,需要的朋友参考一下 php 防止表单重复提交 由于网络原因,经常出来点了提交按钮,网页没有反应,而进行再次点击。这样就导致后台收到两次提交,从而进行两次处理,本文章向大家介绍php 防止表单重复提交的几种方法 1、前端解决 方法一: 可以通过前端来解决。当用户点了提交按钮之后,先使用