Buen día, compañeros.
Tengo un ligero script en javascript el cual debe mostrar el signo zodiacal segun la fecha que el usuario ingrese pero no lo hace y no sé a que se deba.
Espero puedan ayudarme, de antemano, gracias.
PD: Sé que algunos if se pueden factorizar pero por cuestiones de orden y lectura así lo preferí.
<html> <head> <title> Javascript 4 </title> <meta charset="utf-8"> </head> <body> <mce:script type="text/javascript"><!-- function sign(){ var date = document.getElementById("user_date").value; var d = date.getDate(); var m = date.getMonth(); var a = date.getYear(); if ((d >= 23 && m == 10) || (d <= 22 && m == 11)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Sagitario"; }else if ((d >= 23 && m == 11) || (d <= 20 && m == 0)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Capricornio"; }else if ((d >= 21 && m == 0) || (d <= 19 && m == 1)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Acuario"; }else if ((d >= 20 && m == 1) || (d <= 20 && m == 2)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Piscis"; }else if ((d >= 21 && m == 2) || (d <= 21 && m == 3)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Aries"; }else if ((d >= 22 && m == 3) || (d <= 21 && m == 4)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Tauro"; }else if ((d >= 22 && m == 4) || (d <= 21 && m == 5)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Géminis"; }else if ((d >= 22 && m == 5) || (d <= 22 && m == 6)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Cáncer"; }else if ((d >= 23 && m == 6) || (d <= 22 && m == 7)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Leo"; }else if ((d >= 23 && m == 7) || (d <= 22 && m == 8)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Virgo"; }else if ((d >= 23 && m == 8) || (d <= 22 && m == 9)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Libra"; }else if ((d >= 23 && m == 9) || (d <= 22 && m == 10)){ document.getElementById("result").innerHTML = "Tu signo zodiacal es: Escorpio"; } } // --></mce:script> <input type="date" name="user_date"/> <input type="button" value="validar" onclick="sign();" /> <h5 id="result"></h5> </body> </html>
--[NO EXISTEN LOS LIMITES =D]--
Pues... tienes 2 errores: El
Pues... tienes 2 errores:
var date = new Date(document.getElementById("user_date").value);
Ambos errores son muy evidentes si ejecutas tu code con la Consola Web activada (en otros navegadores no sé, pero en Firefox se abre con Ctrl+Shift+K).
Solucionado
Je, gracias. Evidentemente tienes razón.
Prueba a cambiar todos los if
Prueba a cambiar todos los if por else if, excepto el primero. Prueba también a añadir algo (Que será sustituido por el signo) entre <h5></h5>, aunque sea un simple espacio en blanco.
- Monty (anteriormente, Calabato64)
Igual
Lo he intentado pero sigue sin funcionar.