脚本无法在html中运行

时间:2017-11-24 21:07:14

标签: javascript

这是一段非常基本的代码。我试图从用户收集一个数字并根据该数字更改页面的一部分。这是我的代码

id  year  entry  cohort  jobs  year_of_life  jobs_t5
1  2009    0     NaN      10      NaN         NaN
1  2012    1     2012     12      0           18       
1  2013    0     2012     12      1           NaN
1  2014    0     2012     13      2           NaN
1  2015    0     2012     15      3           NaN
1  2016    0     2012     17      4           NaN
1  2017    0     2012     18      5           NaN
2  2009    1     2009     15      0           12
2  2010    0     2009     2       1           NaN
2  2011    0     2009     3       2           NaN
2  2012    0     2009     3       3           NaN
2  2013    0     2009     15      4           NaN
2  2014    0     2009     12      5           NaN
2  2015    0     2009     13      6           NaN
2  2016    0     2009     13      7           NaN

我以前在类似情况下的错误是由于拼写错误,但我似乎无法找到任何这些情况。是因为我是以错误的方式比较数字还是没有正确地初始化我的变量,或者没有正确地回收物品或完全转移其他物品?我无法弄清楚如何调试。

编辑:脚本根本不起作用。我在我的字段中输入一个数字并按下提交按钮,该按钮应该触发submit()但没有结果或更改。

3 个答案:

答案 0 :(得分:1)

您的代码中有许多错误;

  • 字符串不在引用("this is a string")
  • 或者js是||
  • 在重启函数中使用result但未定义。因此,text.innerHTML= result代替text.innerHTML= "" <h1> <span class ="magicNum" id ="magic"> ? </span></h1> <h2><span id ="output">Result</span></h2> <h2> Score: <span id = "score"> 0 </span></h2> <div class="wrapper" > <input type="text" id="input1" placeholder="Enter your guess:"/> <button onclick="submit()"> Submit </button></div> <br> <div class="wrapper" > <button id ="playAgain" onclick="restart()"> Play Again? </button></div> <script type="text/javascript"> var magicNumber; var points = 0; function submit(){ var text=document.getElementById('input1').value; var question=document.getElementById('magic'); var output=document.getElementById('output'); var counter=document.getElementById('score'); magicNumber=Math.floor((Math.random() * 10) + 1); question.innerHTML = magicNumber; if ((magicNumber == text) || ((text + 1) == magicNumber) || ((text - 1) == magicNumber)) { points++; counter.innerHTML = points; output.innerHTML = "You Got Lucky!"; } else { output.innerHTML = "Bad luck. Try again"; } } function restart() { var text=document.getElementById('input1').value; var question=document.getElementById('magic'); var output=document.getElementById('output'); text.innerHTML= ""; question.innerHTML="?"; //output.innerHTML=; } </script>(这完全取决于您想要做什么,但至少现在它在语法上是正确的);

&#13;
&#13;
{{1}}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

在Javascript中没有&#34;或&#34; ,你可以使用&#34; ||&#34;作为OR逻辑运算符,https://www.w3schools.com/js/js_operators.asp

答案 2 :(得分:0)

更新了你的代码有很多错误,未定义的变量,字符串不在引号之间等等:

<body>
    <h1> <span class ="magicNum" id ="magic"> ? </span></h1>
    <h2><span id ="output">Result</span></h2>
    <h2> Score: <span id = "score"> 0 </span></h2>
    <div class="wrapper" > 
    <input type="text" id="input1" placeholder="Enter your guess:"/>
    <button onclick="submit()"> Submit </button></div> <br>
    <div class="wrapper" > <button id ="playAgain" onclick="restart()"> Play Again? </button></div>
    <script type="text/javascript">
        var magicNumber;
        var points = 0;
        function submit(){
            var text=document.getElementById('input1').value;
            var question=document.getElementById('magic');
            var output=document.getElementById('output');
            var counter=document.getElementById('score');
            magicNumber=Math.floor((Math.random() * 10) + 1);
            question.innerHTML = magicNumber;
            if ((magicNumber == text) || ((text + 1) == magicNumber) || ((text - 1) == magicNumber)) {
                points++;
                counter.innerHTML = points;
                output.innerHTML = "You Got Lucky!";
            } else {
                output.innerHTML = "Bad luck. Try again";
            }
        }
        function restart() {
            var text=document.getElementById('input1').value;
            var question=document.getElementById('magic');
            var output=document.getElementById('output');
            var result=document.getElementById('magic'); // was it the expected behavior ?
            text.innerHTML= result;
            question.innerHTML="?";
            output.innerHTML= "";
        }
    </script>

</body>

https://jsfiddle.net/yg3hdfjw/1/