Cita:
Iniciado por blackrocha hola amigos como tan saben pille ste codigo para calcular intantaneamente la edad pero tengo un problema q la edad que me da el datepicker es dd/mm/yy
y este codigo lo calcula en funcion de mm/dd/aaaa entonces me calcula con diferencia la edad como lo podria arreglar
2 consideraciones:
1.- si el dato es dd/mm/aa sea cual fuera la solucion la edad nunca podría superar los 94 años (creo que no importaría salvo que trabajes en arquelogía
)
2.- el codigo que tenes funciona pero no del todo exacto. Probá ponerle la fecha de nacimiento de alguien que cumpla años en estos días y veras el problema.
te paso este código que creo que funciona(la linea en rojo es solo si el año está en formato dd/mm/aa, de lo contrario no es necesaria)
Cita: <html>
<head>
<script>
function calcular(a){
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>99){edad=edad-100}
document.getElementById('edad').value=edad;
}
</script></head>
<body>
<form name="form1" method="post" action="">
<p> Tu fecha de nacimiento
<input name="fecha" type="text" id="fecha" onBlur="calcular(this.value)" value="">
</p>
<p> tu edad es:
<input name="edad" type="text" id="edad">
</p>
</form>
</body>
</html>
aclaracion: lo ideal , para el caso de que el usuario ingresa la fecha manualmete, sería importante utilizar una máscara.
saludos