Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

Rails3 disable_with remote form button immediately gets re-enabled

#5715

When submitting a remote form with a "disable_with" option, the reasonable expectation is that the button will be re-enabled after the ajax response. Instead, the button is immediately re-enabled after the request is made but before the response is received. The problem is that the re-enabling code in rails.js (lines 167-174) is fired on ajax:after:

  document.on("ajax:after", "form", function(event, element) {
    var inputs = element.select("input[type=submit][disabled=true][data-disable-with]");
    inputs.each(function(input) {
      input.value = input.readAttribute('data-original-value');
      input.removeAttribute('data-original-value');
      input.disabled = false;
    });
  });

If changed to be ajax:complete (line 167):

  document.on("ajax:complete", "form", function(event, element) { 
    //original code here
  }

The code works as expected: the button is disabled until the ajax response is received.

Reported by ph0rque · September 27th, 2010 @ 04:17 PM

State: duplicate
Milestone: none
Assigned to: nobody
Importance: Low

Activity

  1. Ryan Bigg
    Ryan Bigg
    • State changed from new to duplicate
    • Importance changed from to Low

    September 27th, 2010 @ 11:19 PM