programing

양식 제출 버튼 "rails way"를 비활성화하는 방법?

lovejava 2023. 10. 11. 20:22

양식 제출 버튼 "rails way"를 비활성화하는 방법?

저는 Rails 3에서 Ruby를 사용하고 있으며 a의 CSS 클래스를 비활성화하고 토글하고 싶습니다.form.submit 양식이 AJAX 제출된 경우 AJAX HTTP 요청이 완료될 때까지(JavaScript의 기본 jQuery 프레임워크를 사용하고 있습니다).

제 양식은 다음과 같습니다.

<%= form_for(@article, :remote => true) do |form| %>
    ...
    <%= form.submit(nil, {:id => 'button_id', :class => 'button_class'}) %>
<% end %>

어떻게 하면 "공통"/"좋은"/"적절한" 방법으로 만들 수 있을까요?

Rails jQuery 브리지(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로 업그레이드할 때 수정해야 할 감가상각 알림이 하나 줄어듭니다. :)

언급URL : https://stackoverflow.com/questions/9570912/how-to-disable-a-form-submit-button-a-l%c3%a0-ruby-on-rails-way