Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/01/2014, 11:43
anju_81
 
Fecha de Ingreso: junio-2008
Mensajes: 25
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Validar campos en formulario

Cita:
Iniciado por Alexis88 Ver Mensaje
Hazle caso a caricatos:

Código Javascript:
Ver original
  1. var formulario = document.contact, //Tomo el formulario
  2.     cantidad = formulario.elements.length, //Obtengo la cantidad de elementos
  3.     valido = true; //Comodín para saber si todos los campos están completos
  4.  
  5. //Añado al formulario el evento "submit" que es el que se ejecuta cuando lo enviamos
  6. formulario.addEventListener("submit", function(eventoSubmit){
  7.     eventoSubmit.preventDefault(); //Evito que se envíe el formulario sin validar
  8.  
  9.     //Recorro el formulario en búsqueda de campos incompletos
  10.     for (i = 0; i < cantidad; i++){
  11.         //Si el campo es incompleto
  12.         if (!formulario.elements[i].value.length){
  13.             //Lanzo una alerta
  14.             alert("Ingrese datos en el campo '" + formulario.elements[i].id + "'");
  15.  
  16.             //Le doy el enfoque a dicho elemento
  17.             formulario.elements[i].focus();
  18.  
  19.             //El comodín cambia su valor a "false" para no enviar el formulario
  20.             valido = false;
  21.  
  22.             //Salgo del bucle For
  23.             break;
  24.         }
  25.     }
  26.  
  27.     if (valido) //Si mi comodín sigue como "true" (si todos los campos tienen datos)
  28.         formulario.submit(); //Lo envío para su procesamiento
  29. }, 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!!!!