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.

There was a problem

You must be a member of this account.

This project is archived and is in readonly mode.

Rails3 disable_with remote form button immediately gets re-enabled

#5714

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: invalid
Milestone: none
Assigned to: nobody
Importance: Low

Activity

  1. David Trasbo
    David Trasbo
    • State changed from new to invalid
    • Importance changed from to Low

    October 9th, 2010 @ 03:50 PM