Código javascript:
Ver original
Hola amigos. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> <script type="text/javascript"> function entrar(){ var preg= prompt("favor introduzca año de nacimiento",""); var calculo= 2009-preg; var edad=18; if(calculo>=edad && preg!=""){ alert("usted es mayor"); }else{ alert("no puede pasar"); } } </script> </head> <body onload="entrar();"> </body> </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