Tengo un formulario que me calcula la edad cuando el usuario introduce su fecha de naciomiento, no es nada del otro mundo bien la duda que tengo ahora que una vez calculada la edad entra en juego un select por categorias S8, S10 ...... bien si la edad que a calculado mi funcion es <=8 y la categiria que elgio es S8 esta correcto todo pero ahi sale mi duda
Código javascript:
Ver original
<script language="JavaScript"> function valida_envia(){ var cate = document.form1.categoria.selectedIndex; var cat = document.form1.categoria.options[cate].value; var edad = document.form1.edad.value; edad = parseInt(edad); if (edad<5){ //document.form1.edad.focus() return alert("Debe tener 5 años por lo menos.") }[COLOR="Red"] if (edad <=8)&&(document.form1.categoria.value.selectedIndex=="S8"){ return alert("Esta todo correcto.") else return alert("No corresponde la categoria con la edad.") } [/COLOR] } function calcular_edad() { var indiced = document.form1.dia.selectedIndex; var dia = document.form1.dia.options[indiced].value; var indicem = document.form1.mes.selectedIndex; var mes = document.form1.mes.options[indicem].value; var indicea = document.form1.ano.selectedIndex; var ano = document.form1.ano.options[indicea].value; //var ano = document.form1.ano.value; //ano = parseInt(ano); //Calculo la fecha de hoy hoy = new Date(); //El año de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4 //ano = 1900 + ano; //Resto los años de las dos fechas //-1 porque no se si ha cumplido años ya este año edad = hoy.getFullYear()- ano - 1; //Si resto los meses y me da menor que 0 entonces no ha cumplido años. //Si da mayor si ha cumplido //+ 1 porque los meses empiezan en 0 if ( hoy.getMonth() + 1 - mes < 0) return edad if ( hoy.getMonth() + 1 - mes > 0) return edad+1 //Si resto los dias y me da menor que 0 entonces no ha cumplido años. //Si da mayor o igual si ha cumplido if ( hoy.getUTCDate() - dia >= 0) return edad + 1 return edad } </script>
Código html:
Ver original
</td > </tr> <td> Categoria a Jugar: </td> </tr> </tr> <tr> <td> <select name="dia" size="1"> </select> <select name="mes" size="1"> </select> <select name="ano" size="1"> </select> </td> </tr> <tr> <tr> </td> </tr> <tr> <tr> <input type="button" value="Cancelar"> </table> </form> </center> </body> </html>
Bien la funcion valida_envia funciona correctamente pero cuando integro el codigo en rojo no ya no me calcula la edad ????????
¿Que debo hacer para poder solucionar esto ?