ARTICULOS

Evitar el doble envío de un formulario

Autor: Fabian Muller (http://www.webexperto.com) - 05/02/2004

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>

Ejemplo:

(Al enviarlo se cargará nuevamente la página de esta artículo)

 

Más artículos sobre Java Script

1. Efecto opaco sobre imágenes
2. Tres métodos para redireccionar una página
3. Efecto nieve
4. Pequeños trucos de Java Script
5. Listas dependientes
6. Banners aleatorios sin actualizar la página
7. Efectos en imágenes pegadas a un link de texto
8. Muestra frases en forma aleatoria
9. Ejecutar código PHP o ASP
10. Efecto "terremoto" en el navegador
Más artículos...

Otros artículos...

Hojas de Estilo Formularios accesibles XHTML y CSS
PHP Verificar existencia de una URL
Servidores ¿Qué es .htaccess?
Java Script Validando emails con JavaScript
Accesibilidad La Accesibilidad en la Web (Parte 1)
Java Script Precarga de imágenes en JavaScript
Servidores Active Server Pages sobre Apache
Photoshop Texto alrededor de un círculo
Java Script Manual de introducción al JavaScript
Flash Evitar activación de Flash en IE
Más artículos...