Cuando envías los datos del formulario a procesarse, se produce el evento
submit
. Lo que puedes hacer (entre las tantas otras alternativas que pueden haber) es usar una variable contadora con el cero como valor inicial, de tal modo que la primera vez que se produzca el evento, lo cancelas con el método
.preventDefault()
y aumentas el valor de la variable contadora en 1, luego, evalúas el nuevo valor de dicha variable y solo si es igual a 1, utilizas el método
.submit()
para procesar el formulario. Si se vuelve a pulsar el botón de envío, el valor de la variable contadora aumentará y ya no será igual a 1, por lo que no se volverá a enviar.
Código JavaScript
:
Ver originaldocument.addEventListener("DOMContentLoaded", function(){
var formulario = document.querySelector("#el id del formulario"),
contador = 0;
formulario.addEventListener("submit", function(event){
event.preventDefault(); //Cancelo el evento
contador++; //Aumento el valor de la variable contadora en 1
if (contador === 1){ //Si el valor de la variable contadora es igual a 1
this.submit(); //Envío los datos del formulario a procesarse
}
}, false);
}, false);
Saludos