Works fine if you put quotes around the vars in the switch:
Code:
<script language = "javascript">
var mon = prompt("Please enter the month you were born(in digit form)", "")
var day = prompt("Please enter the day you were born(in digit form)", "")
switch (mon)
{
case "1":
if(day >=21)
{
document.write("Your zodiac symbol is Aquarius")
}
else
{
document.write("Your symbol is Capricorn")
}
break
case "2":
if(day <= 19)
{
document.write("Your zodiac symbol is Aquarius")
}
else
{
document.write("Your zodiac symbol is Pisces")
}
break
case "3":
if(day <= 20)
{
document.write("Your zodiac symbol is Pisces")
}
else
{
document.write("Your zodiac symbol is Aries")
}
break
case "4":
if(day <= 20)
{
document.write("Your zodiac symbol is Aries")
}
else
{
document.write("Your zodiac symbol is Taurus")
}
break
case "5":
if(day <= 21)
{
document.write("Your zodiac symbol is Taurus")
}
else
{
document.write("Your zodiac symbol is Gemini")
}
break
case "6":
if(day <= 22)
{
document.write("Your zodiac symbol is Gemini")
}
else
{
document.write("Your zodiac symbol is Cancer")
}
break
case "7":
if(day <= 23)
{
document.write("Your zodiac symbol is Cancer")
}
else
{
document.write("Your zodiac symbol is Leo")
}
break
case "8":
if(day <= 22)
{
document.write("Your zodiac symbol is Leo")
}
else
{
document.write("Your zodiac symbol is Virgo")
}
break
case "9":
if(day <= 22)
{
document.write("Your zodiac symbol is Virgo")
}
else
{
document.write("Your zodiac symbol is Libra")
}
break
case "10":
if(day <= 22)
{
document.write("Your zodiac symbol is Libra")
}
else
{
document.write("Your zodiac symbol is Scorpio")
}
break
case "11":
if(day <= 21)
{
document.write("Your zodiac symbol is Scorpio")
}
else
{
document.write("Your zodiac symbol is Sagittarius")
}
break
case "12":
if(day <= 21)
{
document.write("Your zodiac symbol is Sagittarius")
}
else
{
document.write("Your zodiac symbol is Capricorn")
}
}
</script>
However, remember that you've set the background colour to black, and the default foreground is still black. So something like:
Code:
<style>
h2{color:red}
body{background-color:black;
color:white}
</style>
at the top will help.
Essentially the problem is that Javascript doesn't know whether your variables are numbers or strings until you tell it so (by doing something that makes it obvious). So this way we leave 'mon' as a string - and need quotes for comparison, and have 'day' as a number - which Javascript understands from the attempts to use "<=" with an number.
Incidentally, it's good practice in Javascript (ie some browsers may complain or act oddly if you don't) to put semicolons at the end of each statement. Not compulsory, but it always helps to cater to as many as possible.
Hope that helps! (sorry about the double-spacing, it's a board thing)