Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/09/2009, 10:09
majony
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Calcula de edad al momento de insertar

Miren acabo de hacer funcionar mi problema asi pero tengo una duda
  1. 1 Tengo 3 select dia-mes-año
  2. 2 y un campo text donde me muestra la edad

Bien este emi el codigo
Código javascript:
Ver original
  1. <script language="JavaScript">
  2.  
  3.     function calcular_edad()
  4.     {
  5.         var indiced = document.forma28.dia.selectedIndex;
  6.         var dia = document.forma28.dia.options[indiced].value;
  7.        
  8.         var indicem = document.forma28.mes.selectedIndex;
  9.         var mes = document.forma28.mes.options[indicem].value;
  10.  
  11.         var indicea = document.forma28.ano.selectedIndex;
  12.         var ano = document.forma28.ano.options[indicea].value;
  13.  
  14.         //var ano = document.form1.anonac.value;
  15.         //ano = parseInt(ano);
  16.            
  17.          //Calculo la fecha de hoy
  18.              hoy = new Date();
  19.        
  20.           //El año de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4
  21.           ano = 1900 + ano;
  22.  
  23.           //Resto los años de las dos fechas
  24.           //-1 porque no se si ha cumplido años ya este año
  25.           edad = hoy.getYear()- ano - 1;
  26.    
  27.           //Si resto los meses y me da menor que 0 entonces no ha cumplido años.
  28.            //Si da mayor si ha cumplido
  29.          //+ 1 porque los meses empiezan en 0
  30.           if ( hoy.getMonth() + 1 - mes < 0)
  31.            return edad
  32.        
  33.          if ( hoy.getMonth() + 1 - mes > 0)
  34.            return edad+1
  35.  
  36.          //Si resto los dias y me da menor que 0 entonces no ha cumplido años.
  37.          //Si da mayor o igual si ha cumplido
  38.          if ( hoy.getUTCDate() - dia >= 0)
  39.            return edad + 1
  40.  
  41.          return edad
  42.     }
  43.         </script>
  44.    
  45.  
  46.  
  47. </head>
  48. <body>
  49. <center> REGISTRO </center>
  50. <center>
  51.         <form name="forma28" action="index.php?mod=jugadores&pag=guardar" id="forma28" method="post" onSubmit="return validar_jugador(this)" >
  52.          <table border="0" align="center"   id="gradient-style">
  53.            
  54.                 <tr>
  55.                 <td> Fecha de Nacimiento </td>
  56.                 <td> <select name="dia">
  57.             <option value="dia"> dia</option>
  58.             <option value="1"> 1</option>
  59.             <option value="2"> 2</option>
  60.             <option value="3"> 3</option>
  61.             <option value="4"> 4</option>
  62.             <option value="5"> 5</option>
  63.             <option value="6"> 6</option>
  64.             <option value="7"> 7</option>
  65.             <option value="8"> 8</option>
  66.             <option value="9"> 9</option>
  67.             <option value="10"> 10</option>
  68.             <option value="11"> 11</option>
  69.             <option value="12"> 12</option>
  70.             <option value="13"> 13</option>
  71.             <option value="14"> 14</option>
  72.             <option value="15"> 15</option>
  73.             <option value="16"> 16</option>
  74.             <option value="17"> 17</option>
  75.             <option value="18"> 18</option>
  76.             <option value="19"> 19</option>
  77.             <option value="20"> 20</option>
  78.             <option value="21"> 21</option>
  79.             <option value="22"> 22</option>
  80.             <option value="23"> 23</option>
  81.             <option value="24"> 24</option>
  82.             <option value="25"> 25</option>
  83.             <option value="26"> 26</option>
  84.             <option value="27"> 27</option>
  85.             <option value="28"> 28</option>
  86.             <option value="29"> 29</option>
  87.             <option value="30"> 30</option>
  88.          </select>
  89.               <select name="mes">
  90.                 <option value="Mes"> Mes </option>
  91.                 <option value="01"> Enero</option>
  92.                 <option value="02"> Febrero</option>
  93.                 <option value="03"> Marzo</option>
  94.                 <option value="04"> Abril</option>
  95.                 <option value="05"> Mayo</option>
  96.                 <option value="06"> Junio</option>
  97.                 <option value="07"> Julio</option>
  98.                 <option value="08"> Agosto</option>
  99.                 <option value="09"> Septiembre</option>
  100.                 <option value="10"> Octubre</option>
  101.                 <option value="11"> Noviembre</option>
  102.                 <option value="12"> Diciembre</option>
  103.               </select>
  104.             <select name="ano">
  105.                 <option value="año"> año</option>
  106.                 <option value="75"> 1975</option>
  107.                 <option value="76"> 1976</option>
  108.                 <option value="77"> 1977</option>
  109.                 <option value="78"> 1978</option>
  110.                 <option value="79"> 1979</option>
  111.                 <option value="80"> 1980</option>
  112.                 <option value="81"> 1981</option>
  113.                 <option value="82"> 1982</option>
  114.                 <option value="83"> 1983</option>
  115.                 <option value="84"> 1984</option>
  116.                 <option value="85"> 1985</option>
  117.                 <option value="86"> 1986</option>
  118.                 <option value="87"> 1987</option>
  119.                 <option value="88"> 1988</option>
  120.                 <option value="89"> 1989</option>
  121.                 <option value="90"> 1990</option>
  122.                 <option value="91"> 1991</option>
  123.                 <option value="92"> 1992</option>
  124.                 <option value="93"> 1993</option>
  125.                 <option value="94"> 1994</option>
  126.                 <option value="95"> 1995</option>
  127.                 <option value="96"> 1996</option>
  128.                 <option value="97"> 1997</option>
  129.                 <option value="98"> 1998</option>
  130.                 <option value="99"> 1999</option>
  131.                 <option value="00"> 2000</option>
  132.                 <option value="01"> 2001</option>
  133.                 <option value="02"> 2002</option>
  134.                 <option value="03"> 2003</option>
  135.                 <option value="04"> 2004</option>
  136.                 <option value="05"> 2005</option>
  137.                 <option value="06"> 2006</option>
  138.                 <option value="07"> 2007</option>
  139.                 <option value="08"> 2008</option>
  140.                 </select>
  141.                 </td>
  142.                 </tr>
  143.             <tr>
  144.             <tr>
  145.                 <td>Edad:</td>
  146.                 <td><input type="text" name="edad" size="10" maxlength="2" onKeyPress="return validar_num(event)" onClick="this.form.edad.value=calcular_edad()">
  147.                 </td>
  148.        
  149.     </table>
  150.        
  151. </body>
  152. </html>

Bien todo me funciona pero mal y no se porque por ejemplo le mando 24-10-84 me deberia votar en edad 25 pero me vota esto -189976 la verdad no se pq si todo esta corrrecto alguien podria echarme una mano