Rails Ajax表单禁用提交按钮

时间:2009-12-28 03:37:37

标签: ruby-on-rails

我在确定如何在提交表单时禁用rails中的提交按钮时遇到一些麻烦。它在禁用javascript和'remote_form_for#submit'函数中的':disable_with'符号时工作正常,但在通过ajax提交时无法弄明白。有什么想法吗?使用rails 2.3.5和ruby 1.8.7。

1 个答案:

答案 0 :(得分:6)

您可以在发出请求时隐藏提交按钮,并在请求运行时显示加载图像。例如,在form_remote_tag中:

<% form_remote_tag :url => "/some_url", 
:loading => "$('submit_span').toggle(); $('loading_span').toggle();", 
:complete => "$('submit_span').toggle(); $('loading_span').toggle();" do %>

-- FORM CONTENTS --

  <span id="submit_span">
    <%= submit_tag "Submit" %>
  </span>
  <span id = "loading_span" style = "display: none;">
    <%= image_tag("loading.gif")%>
  </span>
<% end %>

当请求完成(成功或失败)时,您取消隐藏提交并隐藏加载范围。

关于各种回调的更多文档:

http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html#M002174