: onclick and formtastic: Отключение кнопки фиксации после первого щелчка препятствует обработке формы? - PullRequest
1 голос
/ 13 февраля 2012

Я пытаюсь сделать так, чтобы пользователи моего приложения rails не могли отправлять мои формы несколько раз, дважды щелкнув.

См. Мой код ниже.

К сожалению, после добавления аргумента: onclick к кнопке фиксации форма больше не обрабатывается.Имя кнопки просто меняется на отключенную кнопку «Обработка ...» (как и ожидалось во время отправки), но это состояние является постоянным (без проверки данных и перенаправления, как раньше).

Я не вижу, как отладить это- кто-нибудь может помочь?

= semantic_form_for @case, :html => {:class => "form-stacked"} do |f|  
    = f.inputs :name => "Case" do
    = f.input  :summary, :input_html => {:class => 'xxlarge main_case'}
= f.buttons do
  = f.commit_button "Create Case", :button_html => {:class => "btn primary", :onclick => "this.disabled=true; this.value='Processing...';"}

Ответы [ 2 ]

6 голосов
/ 13 февраля 2012

просто попробуйте:

submit_tag "Create Case", :disable_with => "Processing..."

это будет работать в рельсах 3 и выше

Обновление:

с formtastic вам нужно следующее

<%= f.action :submit, :button_html => { :label => "create case", :class => "btn primary", :disable_with => 'Processing...' } %>
0 голосов
/ 13 февраля 2012

Если вы не используете rails 3, вам действительно нужно сделать это на «onsubmit» в элементе формы, поскольку нажатие клавиш ввода в текстовых полях и т. Д. Может вызвать событие submit.

Убедитесь, что вы "верните true "в коде js, чтобы форма действительно отправлялась после отключения кнопки.

...