Foros del Web » Programando para Internet » Javascript »

Validar Formulario

Estas en el tema de Validar Formulario en el foro de Javascript en Foros del Web. Hola, eh buscado y no le encuentro la vuelta a este problema que tengo al validar un formulario en js, Estoy haciendo un js para ...
  #1 (permalink)  
Antiguo 14/01/2011, 10:43
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 2 meses
Puntos: 10
Pregunta Validar Formulario

Hola, eh buscado y no le encuentro la vuelta a este problema que tengo al validar un formulario en js,

Estoy haciendo un js para que valide cualquier formulario indicandole por parametro sus respectivas operaciones.

Tengo creado esto:

Código Javascript:
Ver original
  1. function validar(form,campo) {
  2.    
  3.     var estado = document.getElementById(form).elements[campo].value;
  4.    
  5.     if(estado == ""){
  6.         window.alert("Debes completar todos los campos");
  7.     }else{
  8.         document.form.submit();
  9.     }
  10.    
  11. }

Lo que quisiera saber es como puedo hacer de alguna manera recorrer todo el form sin saber cuantos Campos de Texto tengo e ir agregandoselo por parametro yo intente con este js que muestro anteriormente pero solo me valida 1 campo nada mas y yo lo que nesesito es ir pasandolo por parametro todos los campos que tenga el form asi hago la consulta

Código HTML:
<input type="button" size="25" value="Ingresar Producto" onclick="validar('form','NomProducto')" /> 
pero esto solo valida 1 campo de texto solamente.

Bueno espero que me puedan ayudar.

Muchas Gracias

Att: Maganius
  #2 (permalink)  
Antiguo 14/01/2011, 13:36
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Validar Formulario

usa el método getElementsByTagName(), con ello obtienes la colección de elementos que compone el formulario. con un ciclo for lo recorres y con una condicional lo validas
  #3 (permalink)  
Antiguo 16/01/2011, 16:22
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Validar Formulario

Gracias por responder IsaBelM

la verdad esque nose como se haria la condicional si me podrias explicar un poco mas te lo agradeceria.

Gracias.

att: Maganius

Última edición por Maganius; 16/01/2011 a las 16:34
  #4 (permalink)  
Antiguo 17/01/2011, 05:42
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Validar Formulario

lee este articulo habla sobre la estructura. es esa tu duda??
  #5 (permalink)  
Antiguo 17/01/2011, 08:46
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Validar Formulario

Gracias, Ya me ayudo un amigo dejo el codigo por si alguien lo necesita

Código Javascript:
Ver original
  1. function validar(form,campo,numero) {
  2.    
  3.     SeparoCampo = campo.split('&&'); // Armo un array de los campos
  4.    
  5.     for(i=0;i<numero;i++){ // Defino un limite pasando por parametro la cantidad de campos que tiene el formulario
  6.     var estado = document.getElementById(form).elements[SeparoCampo[i]].value; //Recorro con el For el formulario de todos los campos
  7.    
  8.     if(estado == ""){ // si esta vacio saltara un mensaje y se le dara foco el mismo
  9.         window.alert("Debes completar todos los campos");
  10.         document.getElementById(form).elements[SeparoCampo[i]].focus();
  11.         return;
  12.     }
  13.     }
  14.     //Si no entra por el IF hara el submit
  15.         document.form.submit();
  16. }

En el boton html del formulario se le pasara los datos asi:

Código HTML:
Ver original
  1. <input type="button" size="25" value="Ingresar Producto" onclick="validar('form','NomProducto&&DesProducto','2')" />

1.- ID del formulario
2.- Nombrar todos los campos del formulario separandolos con && entre cada uno de ellos
3.- Cantidad de campos que tiene el formulario
  #6 (permalink)  
Antiguo 17/01/2011, 08:49
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Validar Formulario

el envio de ese formulario dependerá de si el usuario tiene o no no tiene activado javascript. no cual no es una buena idea. en vez de usar un botón usa un botón submit para enviar el formulario
  #7 (permalink)  
Antiguo 17/01/2011, 08:51
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Validar Formulario

si uso un boton submit me pasara por arriba el javascript hara toda la comprobacion pero seguira de largo hacia el proceso del mismo.
  #8 (permalink)  
Antiguo 17/01/2011, 08:57
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Validar Formulario

Cita:
Iniciado por Maganius Ver Mensaje
si uso un boton submit me pasara por arriba el javascript hara toda la comprobacion pero seguira de largo hacia el proceso del mismo.
no comprendo que es lo que dices.

onsubmit = "return validar(this)"

si devuelve true, se envia el formulario, sino no se envia
  #9 (permalink)  
Antiguo 17/01/2011, 09:03
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Validar Formulario

Mira lo tengo asi:

Código HTML:
Ver original
  1. <form action="ProcesoProducto.php" method="post" id="form" name="form" onsubmit="return validar('form','NomProducto&&DesProducto','2')"
  2.  
  3. <input type="submit" size="25" value="Ingresar Producto" />

Si lo escribo de esta forma como tu dices con OnSubmit, Si me hace la comprobacion de los datos pero me lleva al action de igual forma.
  #10 (permalink)  
Antiguo 17/01/2011, 13:54
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Validar Formulario

vamos a hacer el código mas dinámico
Cita:
function validar(f) {
for (var i = 0, controles = f.elements; i < controles.length-1; i++) {
if (controles[i].value == '') {
window.alert("Debes completar todos los campos");
controles[i].focus();
return false;
}
}
}



<form action="ProcesoProducto.php" method="post" id="form" name="form" onsubmit="return validar(this);">
<input type="text" name="c1" id="c1" value="" />
<input type="text" name="c2" id="c2" value="" />
<input type="submit" size="25" value="Ingresar Producto" />
  #11 (permalink)  
Antiguo 17/01/2011, 18:50
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años, 8 meses
Puntos: 37
Respuesta: Validar Formulario

Yo creo que además de lo de Isabel un type para que puedas validar que sea radio, checkbox o tex etc etc

var msj="";

if(f[i].type=="text"){
if(f[i].value=="")
msj+="falta llenar "+ f[i].name
}

if(f[i].type=="radio"){
var prendidoTmp=0;
for(j=0;j<document.getElementsByName(f[i].name).length;j++){
if (document.getElementsByName(f[i].name[j].checked){
prendidoTmp=1;
break;
}
}
if(prendido==0)
msj+= "falta seleccionar f[i].name"
}

if(mjs.length){
alert(msj)
return false;
}

faltan los demas como checkbox, select, textarea

Salu2.
  #12 (permalink)  
Antiguo 18/01/2011, 08:18
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Validar Formulario

Muchas Gracias.

Me a sido de utilidad los 2 script.

Ya solucione mi problema.


Att: Maganius
  #13 (permalink)  
Antiguo 19/01/2011, 17:23
Avatar de air94_nathurzer  
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: Validar Formulario

ayuda para validar formularios en javascript mi tema se llama duda al validar un formulario
no se en que parte del codigo poner el codigo de validacion de datos
  #14 (permalink)  
Antiguo 19/01/2011, 22:14
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años, 8 meses
Puntos: 37
Respuesta: Validar Formulario

Mi estimado(a) air94_nathurzer investiga un poquito sobre los lenguajes de cliente y los de server, te deje unas paginas en tu pregunta para que les des una revisada.

Salu2.
  #15 (permalink)  
Antiguo 20/01/2011, 05:33
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Validar Formulario

Cita:
Iniciado por air94_nathurzer Ver Mensaje
ayuda para validar formularios en javascript mi tema se llama duda al validar un formulario
no se en que parte del codigo poner el codigo de validacion de datos
Cita:
Iniciado por air94_nathurzer Ver Mensaje
ayuda con problema al validar un formulario no se en que parte del formulario poner poner el codigo de validacion de datos???
no crees que no debería de ocupar temas de otros usuarios?? esta es tu segunda vez. abre un nuevo tema

Etiquetas: js, validar, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:59.