diff --git a/app/assets/javascripts/prevent_double_submission.js.coffee b/app/assets/javascripts/prevent_double_submission.js.coffee index 867e6fa43..b3b833d43 100644 --- a/app/assets/javascripts/prevent_double_submission.js.coffee +++ b/app/assets/javascripts/prevent_double_submission.js.coffee @@ -1,26 +1,28 @@ App.PreventDoubleSubmission = - disable_button: (button) -> - unless button.hasClass('disabled') - loading = button.data('loading') ? '...' - button.addClass('disabled').attr('disabled', 'disabled') - button.data('text', button.val()) - button.val(loading) + disable_button: (buttons) -> + buttons.each (button)-> + unless button.hasClass('disabled') + loading = button.data('loading') ? '...' + button.addClass('disabled').attr('disabled', 'disabled') + button.data('text', button.val()) + button.val(loading) - reset_button: (button) -> - if button.hasClass('disabled') - button_text = button.data('text') - button.removeClass('disabled').attr('disabled', null) - if button_text - button.val(button_text) - button.data('text', null) + reset_button: (buttons) -> + buttons.each (button)-> + if button.hasClass('disabled') + button_text = button.data('text') + button.removeClass('disabled').attr('disabled', null) + if button_text + button.val(button_text) + button.data('text', null) initialize: -> $('form').on('submit', event, -> - button = $(this).find(':button, :submit') - App.PreventDoubleSubmission.disable_button(button) + buttons = $(this).find(':button, :submit') + App.PreventDoubleSubmission.disable_buttons(buttons) ).on('ajax:success', -> - button = $(this).find(':button, :submit') - App.PreventDoubleSubmission.reset_button(button) + buttons = $(this).find(':button, :submit') + App.PreventDoubleSubmission.reset_buttons(buttons) ) false