jQuery Prevent Multiple Form Submit

Sam Deering
Tweet

It might be useful on some forms to prevent multiple submits on a form by accident. This code binds the submit event and stores disabledOnSubmit” data so next time the event “submit” fires it will return false. All submit buttons are also disabled so the form cannot be submitted twice.

$(document).ready(function() {
  $('form').submit(function() {
    if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {
      jQuery.data(this, "disabledOnSubmit", { submited: true });
      $('input[type=submit], input[type=button]', this).each(function() {
        $(this).attr("disabled", "disabled");
      });
      return true;
    }
    else
    {
      return false;
    }
  });
});

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.