如果else语句麻烦javascript

时间:2016-03-09 23:27:30

标签: javascript

我的目标是检查x并查看它是否小于或等于100,&如果它大于或等于0.如果为真:警告(“输入等级有效”)如果为假:警告(“输入等级无效”)。

我不明白我做错了什么,只是不断返回输入为false的任何数字(例如50,满足两个要求)。

我的代码:

<!DOCTYPE html>
<html lang="en-US">

<title> Bitar_Grade Calculator </title>

<head>
<script> 
var x = document.orderForm.stuentgrade.value;

function checkGrade()
{
    if (x>=0 && x<=100)
    { 
        alert("Entered grade is valid!");
    }
    else
    { 
            alert("Entered grade is invalid!");
    }
}
</script>
</head>


<body>
<form>
Please enter the students grade:<br>
<input type="number" name="studentgrade"><br>
</form>
<button onclick="checkGrade()"> Enter</button>
</body>
</html>

3 个答案:

答案 0 :(得分:1)

您的代码中有一些拼写错误和错误

参见工作职能

function checkGrade() {
    var x = document.getElementsByName('studentgrade')[0].value
    if (x>=0 && x<=100) { 
        alert("Entered grade is valid!");
    }
    else { 
        alert("Entered grade is invalid!");
    }
}

答案 1 :(得分:0)

尝试在执行检查的函数内移动表单字段的读取(并添加更多检查有效值),如下所示;

function checkGrade()
{
    var x = parseInt(document.orderForm.studentgrade.value);
    if (x && x>=0 && x<=100)
    { 
        alert("Entered grade is valid!");
    }
    else
    { 
            alert("Entered grade is invalid!");
    }
}

然而,注意这不是验证intereg值的完整解决方案,所以有人进入&#34; 3百万&#34;仍将被验证为&#34; 3&#34;

答案 2 :(得分:0)

x超出范围,您没有表单名称“orderForm”,并且您的对象名称中存在拼写错误,stuentform ...

为您的输入提供ID,并执行以下操作:

function checkGrade()
{
    var x = document.getElementById('studentgrade').value;

    if ( x>=0 && x<=100 )
    { 
        alert("Entered grade is valid!");
    }
    else
    { 
        alert("Entered grade is invalid!");
    }
}