Foros del Web » Programando para Internet » Javascript »

Ayuda con validacion de formulario!!!

Estas en el tema de Ayuda con validacion de formulario!!! en el foro de Javascript en Foros del Web. Hola amigos de foros del web tengo la siguiente duda, tengo la siguiente tabla y quiero validarla a travez de un .js, pero no se ...
  #1 (permalink)  
Antiguo 18/02/2006, 19:18
 
Fecha de Ingreso: julio-2005
Mensajes: 44
Antigüedad: 18 años, 9 meses
Puntos: 0
Ayuda con validacion de formulario!!!

Hola amigos de foros del web tengo la siguiente duda, tengo la siguiente tabla y quiero validarla a travez de un .js, pero no se como tratar las variables en el .js, ya que como ven las variables que ocupo son con corchetes (fechas1[])....


<html>
<head>
<title>Tabla</title>
</head>

<body>
<form action="#" method="post" name="form1" onSubmit="return Validar(form1)">
<table align="center">
<tr>
<td><input type="text" name="fechas1[]" size="8" maxlength="10"></TD>
<TD ><input type="text" name="Faena[]" size="20" maxlength="20"></TD>
</tr>
<tr>
<td><input type="text" name="fechas1[]" size="8" maxlength="10"></TD>
<TD ><input type="text" name="Faena[]" size="20" maxlength="20"></TD>
</tr>
<tr>
<td><input type="text" name="fechas1[]" size="8" maxlength="10"></TD>
<TD ><input type="text" name="Faena[]" size="20" maxlength="20"></TD>
</tr>
<tr>
<td><input type="text" name="fechas1[]" size="8" maxlength="10"></TD>
<TD ><input type="text" name="Faena[]" size="20" maxlength="20"></TD>
</tr>
</table>
<center><input type="submit" name="enviar" value="Procesar Planilla" class="texto"></center>
</form>
</body>
</html>

si me pueden ayudar se los agradeceria !!!!!!
  #2 (permalink)  
Antiguo 18/02/2006, 23:03
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Hola ingeniero4ever!

Puedes utilizar el arreglo elements para acceder a los valores de los elementos hijos de la etiqueta form.

Código PHP:
function Validar($referencia){
   for(var 
$i 0$i $referencia.elements.length 1$i++){
      
alert($referencia.elements[$i].value);
   }

El -1 en el codicional es porque el último elemento hijo es el boton Submit, y ese no nos interesa para validar.

Un saludo!
  #3 (permalink)  
Antiguo 22/02/2006, 12:31
 
Fecha de Ingreso: julio-2005
Mensajes: 44
Antigüedad: 18 años, 9 meses
Puntos: 0
gracias jahepi, pero aun no se como puedo hacer para comprobar que todos los campos estan llenos de la tabla, ya que si hubiera tenido una tabla comun y corriente, como la siguiente:


<html>
<head>
<title>Tabla</title>
<script language=javascript src=validaf.js></script>
</head>
<body>
<form action="#" method="post" name="form1" onSubmit="return Validar(form1)">
<table align="center">
<tr>
<td><input type="text" name="fechas1" size="8" maxlength="10"></TD>
<TD ><input type="text" name="faena1" size="20" maxlength="20"></TD>
</tr>
</table>
<center><input type="submit" name="enviar" value="Procesar Planilla" class="texto"></center>
</form>
</body>
</html>

en el validaf.js (por ejemplo), tendria lo siguiente:

function Validar(form1){
return( validarFecha(form1.fechas1.value) && validarFaena(form1.faena1.value))
}

function validarFecha (fechas1){
var cadena = "El campo fecha no contiene datos.\n"
+ "No se puede llevar a cabo el registro,\n"
+ "Introdúzcalo por favor. ";
if ( fechas1 == "") {
alert(cadena);
return false;
}
else return true;
}


function validarFaena (faena1){
var cadena = "El campo faena no contiene datos.\n"
+ "No se puede llevar a cabo el registro,\n"
+ "Introdúzcalo por favor. ";
if ( faena1 == "") {
alert(cadena);
return false;
}
else return true;
}

Esto lo se hacer, pero mi problema es cuando en los input ocupa por name=fecha1[], ya que estoy ocupando arreglos, pero no se como hacer en el archivo valida.js para validar el tipo de formulario que presente antes, y que antes de procesar la información todos los campos estén con información, o sea validar.

Si alguien me puede ayudar estare eternamente agradecido...
  #4 (permalink)  
Antiguo 23/02/2006, 09:13
 
Fecha de Ingreso: julio-2005
Mensajes: 44
Antigüedad: 18 años, 9 meses
Puntos: 0
Ayuda !!!

Hola jahepi, para decirte la verdad aun no se muy bien lo que me quieres decir, este codigo tiene que ir dentro del html, o en una pagina aparte ????
y ademas los nombres de los campos en html como los paso en $referencia ???

de verdad que estoy enredado, si me puedes aclarar la pelicula sería genial !!!

Solo quiero que antes de enviar la información, se compruebe que todos los campos esten llenos

Cita:
Iniciado por jahepi
Hola ingeniero4ever!

Puedes utilizar el arreglo elements para acceder a los valores de los elementos hijos de la etiqueta form.

Código PHP:
function Validar($referencia){
   for(var 
$i 0$i $referencia.elements.length 1$i++){
      
alert($referencia.elements[$i].value);
   }

El -1 en el codicional es porque el último elemento hijo es el boton Submit, y ese no nos interesa para validar.

Un saludo!
  #5 (permalink)  
Antiguo 23/02/2006, 09:43
 
Fecha de Ingreso: febrero-2006
Mensajes: 8
Antigüedad: 18 años, 2 meses
Puntos: 0
prueba eval:
eval("document.forms[0]." + nombre[] + ".length")
a ver que pasa
  #6 (permalink)  
Antiguo 23/02/2006, 09:57
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
otra forma es con:

Cita:
function Validar(){
todos=document.getElementsByTagName('input');

for(x=0;x<todos.length-1;x++){
if (todos[x].value==""){
alert("Datos Incompletos");
todos[x].focus();
return false;
}
}
return true;
}

__________________
by Capitán Buscapina
.

Última edición por Cap.Buscapina; 23/02/2006 a las 10:03
  #7 (permalink)  
Antiguo 23/02/2006, 13:07
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 18 años, 5 meses
Puntos: 0
el campo text que usas lo llamas algo[] con la propiedad name, pero ese campo tambien tiene la propiedad id que puedes llamarlo algo solo, es decir:

<imput type="text" name=algo[] id=algo />

Entonces en el javascript llamas a dicho campo a través del id. Esa es otra opción. Y es mucho más sencilla
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:42.