buenas tardes he buscado arduamente sobre como lograr la edad exacta de una persona en sabiendo el dia el mes y año de nacimiento para esto encontre un ejemplo donde explican de manera coherente como obtenerla ....sin embargo no encuentro un error q me esta comiendo la cabeza ,al final el text donde deberia salir la edad me sale negativo y con 4 cifras........ aqui esta el ejemplo gracias de antemano
Código Javascript
:
Ver original<script language="JavaScript">
function calcular_edad()
{
var indiced = document.form1.dianac.selectedIndex;
var dia = document.form1.dianac.options[indiced].value;
var indicem = document.form1.mesnacs.selectedIndex;
var mes = document.form1.mesnacs.options[indicem].value;
var ano = document.form1.anonac.value;
ano = parseInt(ano);
//Calculo la fecha de hoy
hoy = new Date();
//El año de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4
ano = 1900 + ano;
//Resto los años de las dos fechas
//-1 porque no se si ha cumplido años ya este año
edad = hoy.getYear()- ano - 1;
//Si resto los meses y me da menor que 0 entonces no ha cumplido años.
//Si da mayor si ha cumplido
//+ 1 porque los meses empiezan en 0
if ( hoy.getMonth() + 1 - mes < 0)
return edad
if ( hoy.getMonth() + 1 - mes > 0)
return edad+1
//Si resto los dias y me da menor que 0 entonces no ha cumplido años.
//Si da mayor o igual si ha cumplido
if ( hoy.getUTCDate() - dia >= 0)
return edad + 1
return edad
}
</script>
Código HTML:
Ver original
<form name="form1" id="form1"> <select name="dianac" id="dianac" size="1"> .
.
.
<select name="mesnacs" id="mesnacs" size="1"> .
.
.
<input name="anonac" id="anonac" type="text" size="5" maxlength="2" onKeyPress=
"if (event.keyCode<45||event.keyCode>57)event.returnValue=false;">
<input name="edad" type="text" size="5" id="edad" onfocus="this.form.edad.value=calcular_edad()">