Ver Mensaje Individual
  #13 (permalink)  
Antiguo 08/07/2011, 09:53
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 7 meses
Puntos: 834
Respuesta: fecha de nacimiento automatica con error ......

Este último no tiene el problema de los bisiestos. Lo único que deberías hacer es validar dentro del while que e no supere, por ejemplo, el valor 110 (no sé cuál es el record de longevidad, pero creo que es un buen número) porque si alguien coloca un año muy bajo puede hacerse muy lento:
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()){if(e>110){alert('el año es incorrecto');return this.value='';}e++;}this.value=e"
</
form
</
body

</
html