Cita:
Iniciado por Panino5001
Podés usar un select sin inconvenientes para el año. No me sucedía lo que mencionás acerca de la fecha, pero sí podía registrar algún problema con edades muy grandes por el cálculo de bisisestos, así que te propongo algo más seguro e igualmente breve en cantidad de código:
Código PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<form name="form1" id="form1">
<select name="dianac" id="dianac" size="1">
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="mesnac" id="mesnac" size="1">
<option value="0">Enero</option>
<option value="1">Febrero</option>
<option value="2">Marzo</option>
<option value="3">Abril</option>
<option value="4">Mayo</option>
<option value="5">Junio</option>
<option value="6">Julio</option>
<option value="7">Agosto</option>
<option value="8">Setiembre</option>
<option value="9">Octubre</option>
<option value="10">Novienbre</option>
<option value="11">Diciembre</option>
</select>
<input name="anonac" id="anonac" type="text" size="5" maxlength="4"
onkeyup=
"if(isNaN(this.value)){this.value=this.value.substring(0,this.value.length-1)}">
<input name="edad" type="text" size="5" id="edad"
onfocus="var y=anonac.value,e=0;while(new Date(++y,mesnac.value,dianac.value)<new Date())e++;this.value=e">
</form>
</body>
</html>
ya pille el error que te decia panino y no era nada de tu codigo si no de la pila interna de mi pc que hace q la fecha se desconfigure ,con respecto al año bisiesto estas en lo correcto piensas q seria mejor dejarlo asi como esta y hacer una validacion por javascript de cada año bisiesto o desabilitar esos dias (30,31)de cada año