En muchas ocasiones, cuando completamos un formulario y hacemos click sobre el botón "Enviar", observamos en el navegador que el proceso no avanza, y volvemos a hacer click sobre el botón. A raíz de eso, la mayoría de las veces el proceso se realiza nuevamente, creando un registro repetido en una base de datos o enviando dos emails.
Una manera de evitarlo es utilizando un simple script que evita que se clickee más de una vez sobre el botón de envío del formulario.
Debemos ubicar el código dentro de la cabecera de la página (entre <head> y </head>):
<script LANGUAGE="JavaScript">
<!--
var cuenta=0;
function enviado() {
if (cuenta == 0)
{
cuenta++;
return true;
}
else
{
alert("El formulario ya está siendo enviado, por favor aguarde un instante.");
return false;
}
}
// -->
</script>
Y en el action del formulario debemos agregar lo marcado en negrita:
<form method="POST" action="proceso.php" onSubmit="return enviado()">
...
<input type="submit" value="Enviar">
</form>
Por fabian Muller
Original de WebExperto
Usuarios que han visto este tema también han visto...
- Las funciones trigonométricas en Javascript
- Tiempo desde el inicio del año en Javascript
- Esconder e-mail en JavaScript
- Frase al azar con Javascript
- Introducción a AJAX con PHP y formularios
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.