Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/02/2013, 14:33
nexusdata
 
Fecha de Ingreso: enero-2013
Mensajes: 38
Antigüedad: 11 años, 9 meses
Puntos: 0
la validación no funciona para todos los campos

hola amigos del foro resolvi un problema y cai en otro ahora este es muy serio y estoy varado la cosa es que yo creo campos dinamicos con js y uso jquery para validar su contenido pero el detalle esta que solo funciona para el primero que creo y no para los dema e aqui el codigo cualquier ayuda es muy agradecido :
Código:
var counter= 0;
var edad2="t";
var edad1="e";
var edad3="z";
var edad4="k";
var edad5="m";
var counterz=0;
var limit =4;
var edad;
var counterp=0;
var h1;
var h;
var h2;
function addInput(divName){

     if (counter > limit)  {
          alert("¡NUMERO MAXIMO DE DESCENDIENTES ALCANSADO!");
		 
     }
     else {
	     
           newdiv = document.createElement('div');
		  resultado = edad1+counterz;
		  h=edad2+counterz;
		  h1=edad3+counterz;
		  h2=edad4+counterz;
		  h3=edad5+counterz;
          newdiv.innerHTML = "<div class='hijo'><table id='hijo'><tr><td><font color='darkred'>-Descendiente:</font><td> </tr>"  
		  + " <tr><td>Nombre(s) </td> <td><input id='"+h+"' required type='text' name='a[]' class='nombrej' onkeypress='return letras(event)' ><font color='red'>*</font></td></tr>"+ 
		  " <tr> <td>Apellido(s) </td> <td><input id='"+h1+"' required type='text' name='b[]'class='apellidoj' onkeypress='return letras(event)'><font color='red'>*</font></td> </tr>"+
		  "<tr id='error[]'> </tr>"+"<tr> <td>Edad </td> <td><input id='"+resultado+"' size='15' class='bod' type='text' readonly name='c[]'onchange='return calcularEdad(this.id)' ><font color='red'>*</font></td> </tr>"
		  +"<tr><td>Nacionalidad</td><td><input type='text'  id='"+h3+"' onkeypress='return letras(event)' class='nacionalidadj'name='d[]'><font color='red'>*</font></td> </tr>"
		  +" <tr><td> Genero</td> <td> <select name='e[]'><option value='Masculino'> Masculino </option> <option value='Femenino'>Femenino</option> </select></td></tr>" +
		  " <tr> <td>Documento de Identificación </td> <td> <select name='f[]'><option value='Pasaporte'> Pasaporte </option> <option value='Cedula-e'>Cedula-e</option> <option value='otro'>Otro</option> </select></td></tr>"
		  +" <tr> <td>Numero documento de Identificación</td> <td><input id='"+h2+"' onkeypress='return identificación(event)'class='nidj' type='text' name='g[]'><font color='red'>*</font></td></tr>"+
		  "<input type='hidden' name='h[]' value='descendiente' ></table>"+"</div>" ;            
		  document.getElementById(divName).appendChild(newdiv);
		 counter++
		 counterz++
		
		
		
		 
 }
}
function removeDiv(divId) { //funcion que elimina a los campos creados de forma dinamica 
   if (counter!=0){
   resultado = edad1+counterz; 
   counter--
   resultado=edad1+counterz;
   $("#"+divId).remove();

   }  
}

function calcularEdad(z){
a=document.getElementById(z).value
alert("Fecha de Nacimiento:  "+a)
id=z;
hoy = new Date();
f=a.split("/");
nacimiento= new Date(f[2],f[1]-1,f[0]);
edad=(hoy.getFullYear()-nacimiento.getFullYear());
if((nacimiento.getMonth())*100+nacimiento.getDate( ) > hoy.getMonth()*100+hoy.getDate()){
edad--;
}
if(edad<=0){edad="menor a 1 año"}
else if(edad>=18){
alert("MAYOR DE EDAD DEBE HACER SU SOLICITUD DE FORMA INDIVIDUAL");

}
document.getElementById(id).value=edad;


}
function calcularEdadPadres(c){
a=document.getElementById(c).value
alert("Fecha de Nacimiento:  "+a)
id=c;
hoy = new Date();
f=a.split("/");
nacimiento= new Date(f[2],f[1]-1,f[0]);
edad=(hoy.getFullYear()-nacimiento.getFullYear());
if((nacimiento.getMonth())*100+nacimiento.getDate( ) > hoy.getMonth()*100+hoy.getDate()){
edad--;
}
if(edad<=0){edad="<1año"}
document.getElementById(id).value=edad;
}
//validación de los campos dinamicos de los hijos
$(document).on('click','.modulo',function fecha(){
$('.nombrej').rules("add", {
required: true,
minlength: 4,
messages: {
required: "Este campo es obligatorio",
minlength: jQuery.format("Minimo {0} Caracteres")
}
});
$('.apellidoj').rules("add", {
required: true,
minlength: 4,
messages: {
required: "Este campo es obligatorio",
minlength: jQuery.format("Minimo {0} Caracteres")
}
});
$('.nidj').rules("add", {
required: true,
minlength: 10,
messages: {
required: "Este campo es obligatorio",
minlength: jQuery.format("Minimo {0} Caracteres")
}
});
$('.nacionalidadj').rules("add", {
required: true,
minlength:5,
messages: {
required: "Este campo es obligatorio",
minlength: jQuery.format("Minimo {0} Caracteres")
}
});

$('.bod').rules("add", {
required: true,

messages: {
required: "Este campo es obligatorio",
}
});

});



como ven la parte que dice validacion hijos solo sirve para el primero que se genera no para los demas porfavor ayuda no se que pueda ser porfavo porfavor porfavor