Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/10/2009, 11:04
Avatar de loncho_rojas
loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Validar edad de manera sencilla

Código javascript:
Ver original
  1. Hola amigos.
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>Documento sin t&iacute;tulo</title>
  8. <script type="text/javascript">
  9. function entrar(){
  10. var preg= prompt("favor introduzca año de nacimiento","");
  11. var calculo= 2009-preg;
  12. var edad=18;
  13.  
  14. if(calculo>=edad && preg!=""){
  15.     alert("usted es mayor");
  16. }else{
  17. alert("no puede pasar");
  18. }
  19.  
  20. }
  21. </script>
  22. </head>
  23.  
  24. <body onload="entrar();">
  25. </body>
  26. </html>

Mi intencion es solo hacer un filtrillo para corroborar la edad de un supuesto usuario. No pretendo que sea un super verificador, pero que al menos calcule las edades y las de como validas si es mayor de edad.

El codigo que tengo arriba funciona bien, pero tiene un pequeño defectito que no hallo como solucionar.

Si introduzco un calculo que dara como menor, me tira un mensaje de error, si el calculo sale valido, me tira que es mayor.

Hasta aca sin drama, el problema es que el PROMPT tiene campos de ACEPTAR y CANCELAR... si le doy ACEPTAR (o sea true) o le doy enter, sin llenar el campo del PROMPT me sale el error, sin dramas, pero si le doy CANCELAR, me valida la entrada.

Si bien el usuario no siempre sabra esto, al darle cancelar me dara como valido, y lo que quiero es que solo valide cuando:

* Se introduzca un numero cuyo calculo de mayor o igual a 18 HECHO

QUe no de valido cuando:

* No se introduzca ningun elemento HECHO
* Se presione ENTER o ACEPTAR sin rellenar el campoHECHO
* El calculo no coincida con 18 HECHO
* CUando se pulse cancelar ESTE ES EL PROBLEMA

Alguna ayuda
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...