Rails data-disable-with re-enabling button : <p>I have a Rails Devise form that has javascript validation.  When the user presses submit, the validation works and the user is refocused on the form where they need to be. </p>

<p>However, rails uses the data-disable-with to disable the button after it has been clicked, so after the validation the user cannot click submit anymore.  I am trying to set up some kind of listener to check when the button has been disabled, wait a little while to prevent double clicks, then re-enable the button.</p>

<p>I have tried many iterations of code, the latest I tried was:</p>

<pre><code>      $(document.on("ajax:success", "new_supplier", function() {
      var button;

      button = $(this).find('.btn-sign-up');
      setTimeout((function() { return button.disabled=false; }),1);


      });
</code></pre>

<p>But had no success, previously I tried just adding a listener to the button: </p>

<pre><code>      var button = document.getElementById('btn-sign-up');
      button.addEventListener("click", enableButton);

      function enableButton() {
          if (button.disabled)
          {
              window.setTimeout(enable(), 2000);
          }
      }


      function enable() {
          button.disabled=false;
      }
</code></pre>

<p>But this failed because it ran before the function (hidden in rails ether) that disabled the button so did not work.</p>

<p>My submit button is a simple: </p>

<pre><code>    &lt;%= f.submit "Create my account", class: 'btn-sign-up', id: 'btn-sign-up' %&gt;
</code></pre>

<p>Can anyone help me out here?  I think if I can disable the jQuery_ujs for this page that would work, but not sure if I can do that.  </p>
