JavaScript不会在函数中输出值

时间:2017-11-19 10:38:58

标签: javascript

您好我是Javascript的新手。在下面的代码中,当我测试时,我没有看到任何输出。有谁能告诉我出了什么问题?

    

    <script>
        function myFunction()
        {
            var x="";
            var score=document.myscore.score.value;

            if (score>30)
            {
                x="Expert";
            }
            else
            }
                x="Novice";
            }
            document.write(x);
        }
    </script>
</head>
<body>
    <form name="myscore">
        Score: <id="score"> <input type="number" name= "score">
        <input type="submit" onClick="myFunction()" value="submit">

    </form>


</body>

5 个答案:

答案 0 :(得分:1)

<script>
function myFunction()
{
var x="";
var        score=document.myscore.score.value;

if (score>30)
        {
            x="Expert";
        }
        else
        {
            x="Novice";
        }
        document.write(x);
    }
</script>
</head>
<body>
<form name="myscore">
Score: <id="score"> <input type="number" name= "score">
<input type="submit" onClick="myFunction()" value="submit">

</form>


</body>

这应该有效!问题是{else之后的方位。

答案 1 :(得分:1)

一些事情:

  1. <id="score"> <input type="number" name= "score">可能不是你的意思。也许你的意思是<input type="number" name="score" id="score">
  2. document.write是禁忌,请不要使用它。它允许您“现在和现在”修改文档,即加载时。例如,使用document.body.innerHTML += x
  3. var score = document.getElementByID('score').value
  4. else子句后面的括号

答案 2 :(得分:0)

试试这个:

  <script>
    function myFunction()
    {
        var x;
        var score=document.getElementById("in_score").value;

        if(score>30)
          x="Expert";
        else
          x="Novice";
        document.getElementById("score").value = x;
    }
  </script>
  <body>
    <form name="myscore">
     Score: <input id="score" type="number" name= "score">
     <input type="submit" id="in_score" onClick="myFunction()" value="submit">

    </form>


   </body>
   </html>

因此代码中的主要错误是else语句的反向括号。另外,要从输入中获取/更改值,您需要使用getElementById(以选择元素)和.value语句来更改/获取它。

答案 3 :(得分:0)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>enter code here
 <script>
        function myFunction()
        {
            var x="";
            var score=document.myscore.score.value;

            if (score>30)
            {
                x="Expert";
            }
            else
             {
                x="Novice";
            }
            document.write(x);
        }
    </script>
</head>
<body>
    <form name="myscore">
        Score: <id="score"> <input type="number" name= "score">
        <input type="submit" onClick="myFunction()" value="submit">

    </form>


</body>
</html>

答案 4 :(得分:0)

  • 将输入类型从submit更改为button,否则您将无法看到输出,因为表单将提交并重新加载页面。
  • 修复语法错误 <击>&LT; ID = “分数” &GT; 将}更改为{under else condition
  • 将document.write更改为alertconsole.log