How not to send too many records by clicking many times on the button

1

I have a button, where I have seen several topics and one of the solutions it deactivates, but does not send the data.

Button code:

<button onclick="this.disabled = true; this.form.submit(); return true;" name="enviar">Enviar</button>
    
asked by anonymous 16.08.2015 / 19:11

2 answers

0

See this working example using jQuery, taken from another SO in English .

HTML:

<form class="form-horizontal">
  <div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
    <div class="col-sm-10">
      <input type="email" class="form-control" id="inputEmail3" placeholder="Email">
    </div>
  </div>
  <div class="form-group">
    <label for="inputPassword3" class="col-sm-2 control-label">Password</label>
    <div class="col-sm-10">
      <input type="password" class="form-control" id="inputPassword3" placeholder="Password">
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <div class="checkbox">
        <label>
          <input type="checkbox"> Remember me
        </label>
      </div>
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <button type="submit" class="btn btn-default">Sign in</button>
    </div>
  </div>
</form>

Javascript:

$('form').submit(function(){
    $(this).find('button[type=submit]').prop('disabled', true);
    return false;
});
    
16.08.2015 / 19:27
0

If the problem is related to ajax requests, another way is the one method.

See:

$('form').one('submit', function()
{
   // Meu ajax é chamado aqui 
});
    
17.08.2015 / 15:01