19/02/2013, 14:33
|
| | 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 |