https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTrYRJ5xQ7jH4mnxPkqDHEotpLAPkHKiI6mzODhfW1s6y5biBGq

Función jQuery para prevenir múltiples submits

Este es el formulario HTML que enviaremos vía jQuery AJAX.
<form id="frm" method="post">
   
<div class="input-group">Title <span class="title-validation validation-error"></span></div>
   
<div>
       
<input type="text" name="title" id="title" class="input-control" />
   
</div>
   
   
<div class="input-group">Description </div>
   
<div>
               
<textarea rows="5" name="description" id="description" class="input-control"></textarea>
   
</div>

   
<div id="submit-control">
       
<input type="button" name="btn-submit" id="btn-submit" value="submit" onClick="ajaxSubmit();"/>
   
</div>
</form>
 
Al hacer clic en el botón submit, el script jQuery enviará los datos del formulario a una página PHP mediante AJAX. Mientras que se está haciendo todo el proceso en el lado del servidor, ocultaremos el botón y lo reemplazaremos por una barra de progreso.


function ajaxSubmit() { 
       
var valid = true;
        valid
= checkEmpty($("#title"));
       
if(valid) {
               
var title = $("#title").val();
               
var description = $("#description").val();
                $
.ajax({
                        url
: "process-ajax.php",
                        data
:'title='+title+'&description='+description,
                        type
: "POST",
                        beforeSend
: function(){
                                $
('#submit-control').html("<img src='LoaderIcon.gif' /> Ajax Request is Processing!");
                       
},
                        success
: function(data){
                                setInterval
(function(){ $('#submit-control').html("Form submited Successfully!") },1000);
                       
}
               
});
       
}
}