Javascript:将考试成绩转换为字母等级的按钮

问题描述 投票:0回答:4

即使testScore = 80,输出始终为'F'。这是脚本

<script>
    function testScore(){
        var testScore = document.getElementById(score);
        if (testScore >=90){
            alert('A');
        } else if (testScore >=80) {
            alert('B');
        } else if (testScore >=70) {
            alert('C');
        } else if (testScore >=60) {
            alert('D');
        } else {
            alert('F');
    }
    }
</script>

输入,我要求用户输入数字等级,然后单击该按钮下方的按钮,以便在用户单击后将数字等级转换为字母等级。

<input type="number" id="score">
<button onclick="testScore(score)"> Calculate </button>

提前感谢大家。

javascript html
4个回答
2
投票
<script>
    function testScore(){
        var testScore = document.getElementById("score").value;
        if (testScore >=90){
            alert('A');
        } else if (testScore >=80) {
            alert('B');
        } else if (testScore >=70) {
            alert('C');
        } else if (testScore >=60) {
            alert('D');
        } else {
            alert('F');
        }
    }
</script>

您需要在control中获取价值。您的代码本身正在获取control,但没有获取值。


1
投票

更改几件事

  1. 在onclick上添加一些引用,因为您正在搜索名为“ score”的字符串。
  2. 与1相同,但对于testScore函数。您正在搜索文本字符串ID。
  3. 在获取输入值时将.value添加到testScore函数。如果您不喜欢它,那么您将获得整个输入元素对象,而不仅是所写的值。

function testScore(){
    
        var testScore = document.getElementById("score").value;
        
        if (testScore >= 90){
            alert('A');
        } else if (testScore >= 80) {
            alert('B');
        } else if (testScore >= 70) {
            alert('C');
        } else if (testScore >= 60) {
            alert('D');
        } else {
            alert('F');
    }
    }
<input type="number" id="score">
<button onclick="testScore('score')"> Calculate </button>

0
投票

2件事:

  • score设置为string
  • 您缺少元素value
  ...
  function testScore(){
    var testScore = document.getElementById("score").value;
    ...

注意:如果score是具有“ score”值的全局变量,则忽略第一件事。


0
投票
<script>
    function testScore(){
        var testScore = document.getElementById("score").value;
        if (testScore >=90){
            alert('A');
        } else if (testScore >=80) {
            alert('B');
        } else if (testScore >=70) {
            alert('C');
        } else if (testScore >=60) {
            alert('D');
        } else {
            alert('F');
        }
    }
</script>

您需要获取ID的值。此外,我认为您不需要按钮onclick方法中的争论。

© www.soinside.com 2019 - 2024. All rights reserved.