Reputation: 17
I have a switch statement to give you a letter mark if you enter a number mark. I am not getting any errors from chrome so i don't know what i am doing wrong. Would i be just formatting it wrong?
<html>
<body>
<h1>Rank Your Mark!!</h1>
Enter your mark to rank it.
<input type="number" name="grade" id="mark">
<input type="button" name="mark" id="grade" value="Rate" onclick="rateMark()">
<script>
function rateMark(){
switch(grade)
{
case"F":
mark > 50;
break;
case"D":
mark >= 50 && mark <=59.9;
break;
case"C":
mark >= 60 && mark <=69.9;
break;
case"B":
mark >= 70 && mark <= 79.9;
break;
case"A":
mark >= 80 && mark <= 89.9;
break;
case"A+":
mark >= 90 && mark <= 100;
break;
}
document.getElementById("demo").innerHTML = "You got a" + mark;
}
</script>
<br>
<p id="demo"></p>
</body>
</html>
Upvotes: 1
Views: 225
Reputation: 6949
You're not using the right way, check how it works here.
What you're doing is compare if grade variable is "F", "D", "C".....
Use if
and else if
and put your statements into them, like this:
var mark = document.getElementById('mark').value // gets the input value to "mark" variable
if(mark >= 70 && mark <= 79.9){
// do something here
} else if(mark >= 80 && mark <= 89.9){
// do another thing here
}
so on...
Upvotes: 2
Reputation: 111
See this:
<body>
<h1>Rank Your Mark!!</h1>
Enter your mark to rank it.
<input type="number" name="grade" id="mark">
<input type="button" name="mark" id="grade" value="Rate" onclick="rateMark()">
<script>
function rateMark(){
mark = document.getElementById("mark").value
if (mark < 50) {
mark = "F"
} else if (mark >= 50 && mark <=59.9) {
mark = "E"
} else if (mark >= 60 && mark <=69.9) {
mark = "D"
} else if (mark >= 70 && mark <= 79.9) {
mark = "C"
} else if (mark >= 80 && mark <= 89.9) {
mark = "B"
} else if (mark >= 90 && mark <= 100) {
mark = "A"
}
document.getElementById("demo").innerHTML = "You got a " + mark;
}
</script>
<br>
<p id="demo"></p>
</body>
Upvotes: 0