Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/09/2009, 09:14
majony
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 16 años, 2 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