Foros del Web » Programando para Internet » Javascript »

Calcula de edad al momento de insertar

Estas en el tema de Calcula de edad al momento de insertar en el foro de Javascript en Foros del Web. Hola amigos de mucho tiempo vuelvo a postear aqui mi duda pasa por lo siguiente: Tengo un formulario con un select que me muestra el ...
  #1 (permalink)  
Antiguo 14/09/2009, 08:47
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Calcula de edad al momento de insertar

Hola amigos de mucho tiempo vuelvo a postear aqui mi duda pasa por lo siguiente:
Tengo un formulario con un select que me muestra el dia-mes y año asi al momento de insertar
Código php:
Ver original
  1. </tr>
  2.             <tr>
  3.                 <td> Fecha de Nacimiento </td>
  4.                 <td> <select name="dia">
  5.             <option value="dia"> dia</option>
  6.             <option value="1"> 1</option>
  7.             <option value="2"> 2</option>
  8.             <option value="3"> 3</option>
  9.             <option value="4"> 4</option>
  10.             <option value="5"> 5</option>
  11.             <option value="6"> 6</option>
  12.             <option value="7"> 7</option>
  13.             <option value="8"> 8</option>
  14.             <option value="9"> 9</option>
  15.             <option value="10"> 10</option>
  16.             <option value="11"> 11</option>
  17.             <option value="12"> 12</option>
  18.             <option value="13"> 13</option>
  19.             <option value="14"> 14</option>
  20.             <option value="15"> 15</option>
  21.             <option value="16"> 16</option>
  22.             <option value="17"> 17</option>
  23.             <option value="18"> 18</option>
  24.             <option value="19"> 19</option>
  25.             <option value="20"> 20</option>
  26.             <option value="21"> 21</option>
  27.             <option value="22"> 22</option>
  28.             <option value="23"> 23</option>
  29.             <option value="24"> 24</option>
  30.             <option value="25"> 25</option>
  31.             <option value="26"> 26</option>
  32.             <option value="27"> 27</option>
  33.             <option value="28"> 28</option>
  34.             <option value="29"> 29</option>
  35.             <option value="30"> 30</option>
  36.          </select>
  37.               <select name="mes">
  38.                 <option value="Mes"> Mes </option>
  39.                 <option value="01"> Enero</option>
  40.                 <option value="02"> Febrero</option>
  41.                 <option value="03"> Marzo</option>
  42.                 <option value="04"> Abril</option>
  43.                 <option value="05"> Mayo</option>
  44.                 <option value="06"> Junio</option>
  45.                 <option value="07"> Julio</option>
  46.                 <option value="08"> Agosto</option>
  47.                 <option value="09"> Septiembre</option>
  48.                 <option value="10"> Octubre</option>
  49.                 <option value="11"> Noviembre</option>
  50.                 <option value="12"> Diciembre</option>
  51.               </select>
  52.             <select name="ano">
  53.                 <option value="año"> año</option>
  54.                 <option value="1975"> 1975</option>
  55.                 <option value="1976"> 1976</option>
  56.                 <option value="1977"> 1977</option>
  57.                 <option value="1978"> 1978</option>
  58.                 <option value="1979"> 1979</option>
  59.                 <option value="1980"> 1980</option>
  60.                 <option value="1981"> 1981</option>
  61.                 <option value="1982"> 1982</option>
  62.                 <option value="1983"> 1983</option>
  63.                 <option value="1984"> 1984</option>
  64.                 <option value="1985"> 1985</option>
  65.                 <option value="1986"> 1986</option>
  66.                 <option value="1987"> 1987</option>
  67.                 <option value="1988"> 1988</option>
  68.                 <option value="1989"> 1989</option>
  69.                 <option value="1990"> 1990</option>
  70.                 <option value="1991"> 1991</option>
  71.                 <option value="1992"> 1992</option>
  72.                 <option value="1993"> 1993</option>
  73.                 <option value="1994"> 1994</option>
  74.                 <option value="1995"> 1995</option>
  75.                 <option value="1996"> 1996</option>
  76.                 <option value="1997"> 1997</option>
  77.                 <option value="1998"> 1998</option>
  78.                 <option value="1999"> 1999</option>
  79.                 <option value="2000"> 2000</option>
  80.                 <option value="2001"> 2001</option>
  81.                 <option value="2002"> 2002</option>
  82.                 <option value="2003"> 2003</option>
  83.                 <option value="2004"> 2004</option>
  84.                 <option value="2005"> 2005</option>
  85.                 <option value="2006"> 2006</option>
  86.                 <option value="2007"> 2007</option>
  87.                 <option value="2008"> 2008</option>
  88.                 </select>
  89.                 </td>
  90.         </tr>
  91.             <tr>
  92.                 <td>Edad:</td>
  93.                 <td><input type="text" name="edad" size="10" maxlength="2" onKeyPress="return validar_num(event)">
  94.                 </td>
  95.             </tr>
  96.             <tr>

Y como se fijaran un campo edad bien lo que intento hacer es que la momento de elegir el año automaticamente me mostrara en el campo edad su edad la duda que tengo es que tiene q estar guardada la fecha primero en mi base o como deberia ser
  #2 (permalink)  
Antiguo 14/09/2009, 08:53
 
Fecha de Ingreso: agosto-2009
Mensajes: 34
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Calcula de edad al momento de insertar

prueba con javascript.
  #3 (permalink)  
Antiguo 14/09/2009, 08:56
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 4 meses
Puntos: 81
Respuesta: Calcula de edad al momento de insertar

Creo que esto podria servirte.

Link

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #4 (permalink)  
Antiguo 14/09/2009, 09:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Calcula de edad al momento de insertar

Tema trasladado desde PHP
  #5 (permalink)  
Antiguo 14/09/2009, 09:14
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Respuesta: Calcula de edad al momento de insertar

Bueno ahora si estoy un poco confundido, resulta que en mi formulario de insertar tengo una funcion de javascritp para validar los campos como algo clasico como nombre y no mumeros etc, bien hice esto.

Código html:
Ver original
  1. <script language="javascript">
  2.      function calcular_edad(fecha){
  3.  
  4.       //calculo la fecha de hoy
  5.        hoy=new Date()
  6.       //alert(hoy)
  7.  
  8.      //calculo la fecha que recibo
  9.      //La descompongo en un array
  10.     var array_fecha = fecha.split("/")
  11.     //si el array no tiene tres partes, la fecha es incorrecta
  12.     if (array_fecha.length!=3)
  13.        return false
  14.  
  15.     //compruebo que los ano, mes, dia son correctos
  16.     var ano
  17.     ano = parseInt(array_fecha[2]);
  18.     if (isNaN(ano))
  19.        return false
  20.  
  21.     var mes
  22.     mes = parseInt(array_fecha[1]);
  23.     if (isNaN(mes))
  24.        return false
  25.  
  26.     var dia
  27.     dia = parseInt(array_fecha[0]);
  28.     if (isNaN(dia))
  29.        return false
  30.  
  31.  
  32.     //si el año de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4
  33.     if (ano<=99)
  34.       ano +=1900
  35.  
  36.    //resto los años de las dos fechas
  37.    edad=hoy.getYear()- ano - 1; //-1 porque no se si ha cumplido años ya este año
  38.  
  39.    //si resto los meses y me da menor que 0 entonces no ha cumplido años. Si da mayor si ha cumplido
  40.    if (hoy.getMonth() + 1 - mes < 0) //+ 1 porque los meses empiezan en 0
  41.       return edad
  42.    if (hoy.getMonth() + 1 - mes > 0)
  43.        return edad+1
  44.  
  45.     //entonces es que eran iguales. miro los dias
  46.     //si resto los dias y me da menor que 0 entonces no ha cumplido años. Si da mayor o igual si ha cumplido
  47.     if (hoy.getUTCDate() - dia >= 0)
  48.        return edad + 1
  49.  
  50.     return edad
  51. }
  52.    </script>
  53. <script language="javascript">
  54.     function validar_jugador(frm){
  55.         with(frm) {
  56.             msg = '';
  57.             if (trim(nombre.value) == '') {
  58.                 msg += '\t- No se especifico el Nombre del jugador\n';
  59.             }
  60.             if (trim(club.value) == '') {
  61.                 msg += '\t- No se especifico el club del jugador\n';
  62.             }
  63.             if (trim(nacionalidad.value) == '') {
  64.                 msg += '\t- No se especifico la nacionalidad del jugador \n';
  65.             }
  66.             if (trim(lugar.value) == '') {
  67.                 msg += '\t- No se especifico el lugar de nacimiento del jugador\n';
  68.             }  
  69.             if (trim(nombre_p.value) == '') {
  70.                 msg += '\t- No se especifico el Nombre del padre del jugador \n';
  71.             }
  72.             if (trim(nombre_m.value) == '') {
  73.                 msg += '\t- No se especifico el Nombre de la madre del jugador\n';
  74.             }
  75.             if ( edad.value == '') {
  76.                 msg += '\t- No especifico la edad que tiene el jugador\n';
  77.             }
  78.             if ( domicilio.value == '') {
  79.                 msg += '\t- No la direccion donde vive el jugador\n';
  80.             }
  81.        
  82.             if(msg=='') {
  83.                 return true;
  84.             } else {
  85.                 alert('Los siguientes campos están erroneos por favor vuelva a intentarlos:\n'+msg);
  86.                 return false;
  87.             }
  88.         }
  89.     }
  90.  
  91.  
  92. </head>
  93. <center> REGISTRO </center>
  94. <center>
  95.         <form name="forma28" action="index.php?mod=jugadores&pag=guardar" id="forma28" method="post" onSubmit="return validar_jugador(this)" onSubmit="calcular_edad(this)">
  96.          <table border="0" align="center"   id="gradient-style">
  97.            
  98.             <tr>
  99.                 <th align="center" colspan="2" > <font color="#ff0000"><u>Ficha Individual</u></font> </th>
  100.                
  101.             </tr>
  102.             <br>
  103.             <tr>
  104.                 <td>Nombres del Jugador:</td>
  105.                 <td><input type="text" name="nombre" size="30"  id="nombre" maxlength="256"  onKeyPress="return validar_text(event)"/>
  106.                </td>
  107.             </tr>
  108.            
  109.             <tr>
  110.                 <td> Fecha de Nacimiento </td>
  111.                 <td> <select name="dia">
  112.             <option value="dia"> dia</option>
  113.             <option value="1"> 1</option>
  114.             <option value="2"> 2</option>
  115.             <option value="3"> 3</option>
  116.             <option value="4"> 4</option>
  117.             <option value="5"> 5</option>
  118.             <option value="6"> 6</option>
  119.             <option value="7"> 7</option>
  120.             <option value="8"> 8</option>
  121.             <option value="9"> 9</option>
  122.             <option value="10"> 10</option>
  123.             <option value="11"> 11</option>
  124.             <option value="12"> 12</option>
  125.             <option value="13"> 13</option>
  126.             <option value="14"> 14</option>
  127.             <option value="15"> 15</option>
  128.             <option value="16"> 16</option>
  129.             <option value="17"> 17</option>
  130.             <option value="18"> 18</option>
  131.             <option value="19"> 19</option>
  132.             <option value="20"> 20</option>
  133.             <option value="21"> 21</option>
  134.             <option value="22"> 22</option>
  135.             <option value="23"> 23</option>
  136.             <option value="24"> 24</option>
  137.             <option value="25"> 25</option>
  138.             <option value="26"> 26</option>
  139.             <option value="27"> 27</option>
  140.             <option value="28"> 28</option>
  141.             <option value="29"> 29</option>
  142.             <option value="30"> 30</option>
  143.          </select>
  144.               <select name="mes">
  145.                 <option value="Mes"> Mes </option>
  146.                 <option value="01"> Enero</option>
  147.                 <option value="02"> Febrero</option>
  148.                 <option value="03"> Marzo</option>
  149.                 <option value="04"> Abril</option>
  150.                 <option value="05"> Mayo</option>
  151.                 <option value="06"> Junio</option>
  152.                 <option value="07"> Julio</option>
  153.                 <option value="08"> Agosto</option>
  154.                 <option value="09"> Septiembre</option>
  155.                 <option value="10"> Octubre</option>
  156.                 <option value="11"> Noviembre</option>
  157.                 <option value="12"> Diciembre</option>
  158.               </select>
  159.             <select name="ano">
  160.                 <option value="año"> año</option>
  161.                 <option value="1975"> 1975</option>
  162.                 <option value="1976"> 1976</option>
  163.                 <option value="1977"> 1977</option>
  164.                 <option value="1978"> 1978</option>
  165.                 <option value="1979"> 1979</option>
  166.                 <option value="1980"> 1980</option>
  167.                 <option value="1981"> 1981</option>
  168.                 <option value="1982"> 1982</option>
  169.                 <option value="1983"> 1983</option>
  170.                 <option value="1984"> 1984</option>
  171.                 <option value="1985"> 1985</option>
  172.                 <option value="1986"> 1986</option>
  173.                 <option value="1987"> 1987</option>
  174.                 <option value="1988"> 1988</option>
  175.                 <option value="1989"> 1989</option>
  176.                 <option value="1990"> 1990</option>
  177.                 <option value="1991"> 1991</option>
  178.                 <option value="1992"> 1992</option>
  179.                 <option value="1993"> 1993</option>
  180.                 <option value="1994"> 1994</option>
  181.                 <option value="1995"> 1995</option>
  182.                 <option value="1996"> 1996</option>
  183.                 <option value="1997"> 1997</option>
  184.                 <option value="1998"> 1998</option>
  185.                 <option value="1999"> 1999</option>
  186.                 <option value="2000"> 2000</option>
  187.                 <option value="2001"> 2001</option>
  188.                 <option value="2002"> 2002</option>
  189.                 <option value="2003"> 2003</option>
  190.                 <option value="2004"> 2004</option>
  191.                 <option value="2005"> 2005</option>
  192.                 <option value="2006"> 2006</option>
  193.                 <option value="2007"> 2007</option>
  194.                 <option value="2008"> 2008</option>
  195.                 </select>
  196.                 </td>
  197.                 </tr>
  198.             <tr>
  199.            
  200.             <tr>
  201.                 <td>Edad:</td>
  202.                 <td><input type="text" name="edad" size="10" maxlength="2" onKeyPress="return validar_num(event)">
  203.                 </td>
  204.             </tr>
  205.            
  206.     </table>
  207.        
  208. </body>
  209. </html>

No soy muy buena con javascritp lo que no se es como debo poner en mi campo edad para que en este campo me muestre la edad actual de mi personal o como debo hacer para poder mostrarme la edad en este campo usando la funcion calcular_edad
Agradeceria mucho un poco de guia sobre esto
  #6 (permalink)  
Antiguo 14/09/2009, 10:09
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 5 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
  #7 (permalink)  
Antiguo 14/09/2009, 14:36
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Calcula de edad al momento de insertar

Alguien mas o menos no sabra cual es mi problema
  #8 (permalink)  
Antiguo 14/09/2009, 15:25
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 1 mes
Puntos: 1485
Respuesta: Calcula de edad al momento de insertar

a continuacion los cambios que hice:
  • Código:
              ano = 1900 + ano;
    
    es linea resulta en una concatenacion en lugar de una suma porque ano es un string. mi recomendacion es que en lugar de tener los ultimos dos digitos del año en el <option> escribelo en formato completo. o sea,
    Código:
    <option value="1999">1999</option>
    
    no conviene convertir ano a numero por la simple razon que si se selecciona algun año del 2000 en adelante, estarias sumando 1900 + 00 lo cual dara una fecha que no es. por otro lado te quitas un peso encima teniendo que agregar codigo para identificar si hay que sumar 1900 o 2000. en fin, ademas de hacer el año en 4 digitos, elimina el codigo antes comentado.
  • y finalmente, en la siguiente linea
    Código:
    edad = hoy.getYear()- ano - 1;
    
    en lugar de getYear() utiliza getFullYear().
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 14/09/2009, 15:48
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Calcula de edad al momento de insertar

Muchas Gracias zeroKilled esta ahora todo muy bien se te agradece mucho
  #10 (permalink)  
Antiguo 14/09/2009, 16:11
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: Calcula de edad al momento de insertar

Hola

De cualquier modo, ¿no es mucho código para hacer algo tan básico? Te propongo esto otro

Código javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>
  5. <script type="text/javascript">
  6. function calcular_edad(opt1,opt2,opt3) {
  7. var dia, mes, anyo
  8. if (opt1 == "") {dia = document.forma28.dia.options[document.forma28.dia.selectedIndex].value;} else { dia = opt1;}
  9. if (opt2 == "") {mes = document.forma28.mes.options[document.forma28.mes.selectedIndex].value;} else { mes = opt2;}
  10. if (opt3 == "") {anyo = document.forma28.ano.options[document.forma28.ano.selectedIndex].value;} else { anyo = opt3;}
  11.  
  12. alert("Dia " +dia+ " Mes " +mes+ " Anyo " +anyo)
  13.  
  14. var nacimiento =new Date(anyo, mes, dia)
  15. hoy = new Date()
  16. var cuantos_dias =1000*60*60*24*365
  17.  
  18. document.getElementById("edad").value = (Math.ceil((hoy.getTime()-nacimiento.getTime())/(cuantos_dias))-1);
  19. }
  20. </script>
  21. </head>
  22. <body>
  23. <center> REGISTRO </center>
  24. <center>
  25.         <form name="forma28" action="index.php?mod=jugadores&pag=guardar" id="forma28" method="post" onSubmit="return validar_jugador(this)" >
  26.          <table border="0" align="center"   id="gradient-style">
  27.            
  28.                 <tr>
  29.                 <td> Fecha de Nacimiento </td>
  30.                 <td> <select name="dia" size="5" onchange="calcular_edad(this.options[this.selectedIndex].value,'','');">
  31.             <option value=""> D&Iacute;A</option>
  32.             <option value="1" selected> 1</option>
  33.             <option value="2"> 2</option>
  34.             <option value="3"> 3</option>
  35.             <option value="4"> 4</option>
  36.             <option value="5"> 5</option>
  37.             <option value="6"> 6</option>
  38.             <option value="7"> 7</option>
  39.             <option value="8"> 8</option>
  40.             <option value="9"> 9</option>
  41.             <option value="10"> 10</option>
  42.             <option value="11"> 11</option>
  43.             <option value="12"> 12</option>
  44.             <option value="13"> 13</option>
  45.             <option value="14"> 14</option>
  46.             <option value="15"> 15</option>
  47.             <option value="16"> 16</option>
  48.             <option value="17"> 17</option>
  49.             <option value="18"> 18</option>
  50.             <option value="19"> 19</option>
  51.             <option value="20"> 20</option>
  52.             <option value="21"> 21</option>
  53.             <option value="22"> 22</option>
  54.             <option value="23"> 23</option>
  55.             <option value="24"> 24</option>
  56.             <option value="25"> 25</option>
  57.             <option value="26"> 26</option>
  58.             <option value="27"> 27</option>
  59.             <option value="28"> 28</option>
  60.             <option value="29"> 29</option>
  61.             <option value="30"> 30</option>
  62.          </select>
  63.               <select name="mes" size="5" onchange="calcular_edad('',this.options[this.selectedIndex].value,'');">
  64.                 <option value=""> MES </option>
  65.                 <option value="0" selected> Enero</option>
  66.                 <option value="1"> Febrero</option>
  67.                 <option value="2"> Marzo</option>
  68.                 <option value="3"> Abril</option>
  69.                 <option value="4"> Mayo</option>
  70.                 <option value="5"> Junio</option>
  71.                 <option value="6"> Julio</option>
  72.                 <option value="7"> Agosto</option>
  73.                 <option value="8"> Septiembre</option>
  74.                 <option value="9"> Octubre</option>
  75.                 <option value="10"> Noviembre</option>
  76.                 <option value="11"> Diciembre</option>
  77.               </select>
  78.             <select name="ano"  size="5" onchange="calcular_edad('','',this.options[this.selectedIndex].value);">
  79.                 <option value=""> A&Ntilde;O</option>
  80.                 <option value="74"> 1974</option>
  81.                 <option value="75" selected> 1975</option>
  82.                 <option value="76"> 1976</option>
  83.                 <option value="77"> 1977</option>
  84.                 <option value="78"> 1978</option>
  85.                 <option value="79"> 1979</option>
  86.                 <option value="80"> 1980</option>
  87.                 <option value="81"> 1981</option>
  88.                 <option value="82"> 1982</option>
  89.                 <option value="83"> 1983</option>
  90.                 <option value="84"> 1984</option>
  91.                 <option value="85"> 1985</option>
  92.                 <option value="86"> 1986</option>
  93.                 <option value="87"> 1987</option>
  94.                 <option value="88"> 1988</option>
  95.                 <option value="89"> 1989</option>
  96.                 <option value="90"> 1990</option>
  97.                 <option value="91"> 1991</option>
  98.                 <option value="92"> 1992</option>
  99.                 <option value="93"> 1993</option>
  100.                 <option value="94"> 1994</option>
  101.                 <option value="95"> 1995</option>
  102.                 <option value="96"> 1996</option>
  103.                 <option value="97"> 1997</option>
  104.                 <option value="98"> 1998</option>
  105.                 <option value="99"> 1999</option>
  106.                 <option value="00"> 2000</option>
  107.                 <option value="01"> 2001</option>
  108.                 <option value="02"> 2002</option>
  109.                 <option value="03"> 2003</option>
  110.                 <option value="04"> 2004</option>
  111.                 <option value="05"> 2005</option>
  112.                 <option value="06"> 2006</option>
  113.                 <option value="07"> 2007</option>
  114.                 <option value="08"> 2008</option>
  115.                 </select>
  116.                 </td>
  117.                 </tr>
  118.             <tr>
  119.             <tr>
  120.                 <td>Edad:</td>
  121.                 <td><input type="text" id="edad" name="edad" size="10" maxlength="2">
  122.                 </td>
  123.        
  124.     </table>
  125.        
  126. </body>
  127. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:02.