
14/01/2014, 11:43
|
| | Fecha de Ingreso: junio-2008
Mensajes: 25
Antigüedad: 16 años, 9 meses Puntos: 0 | |
Respuesta: Validar campos en formulario Cita:
Iniciado por Alexis88 Hazle caso a caricatos:
Código Javascript :
Ver originalvar formulario = document.contact, //Tomo el formulario cantidad = formulario.elements.length, //Obtengo la cantidad de elementos valido = true; //Comodín para saber si todos los campos están completos //Añado al formulario el evento "submit" que es el que se ejecuta cuando lo enviamos formulario.addEventListener("submit", function(eventoSubmit){ eventoSubmit.preventDefault(); //Evito que se envíe el formulario sin validar //Recorro el formulario en búsqueda de campos incompletos for (i = 0; i < cantidad; i++){ //Si el campo es incompleto if (!formulario.elements[i].value.length){ //Lanzo una alerta alert("Ingrese datos en el campo '" + formulario.elements[i].id + "'"); //Le doy el enfoque a dicho elemento formulario.elements[i].focus(); //El comodín cambia su valor a "false" para no enviar el formulario valido = false; //Salgo del bucle For break; } } if (valido) //Si mi comodín sigue como "true" (si todos los campos tienen datos) formulario.submit(); //Lo envío para su procesamiento }, false);
La explicación te la detallé en los comentarios que añadí, saludos.
-----
Hola entonces que debo poner en el script: <script>
function revisar() {
var formulario = document.contact, //Tomo el formulario
cantidad = formulario.elements.length, //Obtengo la cantidad de elementos
valido = true; //Comodín para saber si todos los campos están completos
//Añado al formulario el evento "submit" que es el que se ejecuta cuando lo enviamos
formulario.addEventListener("submit", function(eventoSubmit){
eventoSubmit.preventDefault(); //Evito que se envíe el formulario sin validar
//Recorro el formulario en búsqueda de campos incompletos
for (i = 0; i < cantidad; i++){
//Si el campo es incompleto
if (!formulario.elements[i].value.length){
//Lanzo una alerta
alert("Ingrese datos en el campo '" + formulario.elements[i].id + "'");
//Le doy el enfoque a dicho elemento
formulario.elements[i].focus();
//El comodín cambia su valor a "false" para no enviar el formulario
valido = false;
//Salgo del bucle For
break;
}
}
if (valido) //Si mi comodín sigue con el valor "true" (si todos los campos tienen datos)
formulario.submit(); //Lo envío para su procesamiento
}, false);
}
</script>
Y luego en la etiqueta <form> <form method="post" onsubmit="revisar()" name="contact" enctype="multipart/form-data" action="mailform.php">
GRACIAS DE ANTEMANO!!!! |