我正在使用Ruby on Rails 3,当表单为AJAX时,我想禁用和 toogle form.submit
的CSS类提交,直到AJAX HTTP请求完成(我正在使用JavaScript的默认jQuery框架)。
我的表格如下:
<%= form_for(@article, :remote => true) do |form| %>
...
<%= form.submit(nil, {:id => 'button_id', :class => 'button_class'}) %>
<% end %>
如何以“常见”/“好”/“正确”方式制作?
答案 0 :(得分:43)
Rails jQuery bridge(jquery_ujs.js)代码实际上有一个帮助。
<%= form.submit "Save", id: "button_id", class: "button", disable_with: "Submitting..."
它会用您给出的值替换按钮文本。
请参阅http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-submit_tag
API更改:正如Renan在下面的评论中所建议的那样,自Rails 4 beta起,disable_with
选项上有弃用通知。它应该被更改为数据属性:
<%= form.submit "Save", id: "button_id", class: "button", data: {disable_with: "Submitting..."} %>
这应该适用于所有最新版本的Rails,因为它是选项所做的。因此,当您升级到Rails 4时,将会减少一个弃用通知。:)