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...
- Cómo pasar variables entre páginas con javascript
- Recarga de página controlada con JavaScript
- Activar-Desactivar campos con JavaScript
- Escribiendo aplicaciones sociales con Google OpenSocial
- Esconder e-mail en JavaScript
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.