是)我有的:
我有一个通过 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 的东西?