Предположим, что вы используете jquery-ujs, нет необходимости делать это вручную, что означает, что вы должны удалить части :onclick
и :complete
- просто добавьте :disable_with
, а jquery-ujs сделает все остальное для тебя.
Так ваш код станет:
<%= form_tag url_for(:action=>'url'), :method=>"post", :remote =>true do %>
<%= submit_tag "Create", :class=>"submit_btn", :disable_with => "Please wait..." %>
Edit:
Если вы хотите выполнить некоторые пользовательские операции до / во время / после этого AJAX-запроса, вы должны связать форму с теми пользовательскими событиями, которые запускает jquery-ujs ( ссылка здесь ). Например, следующий код выполняет то, что вы хотите:
<script>
$('#form-id').bind({
'ajax:before': function () {
$('.submit_btn').addClass('disabled');
},
'ajax:complete': function () {
$('.submit_btn').removeClass('disabled');
}
});
</script>