if和else语句条件值无法识别

时间:2019-05-06 23:39:52

标签: javascript html

我正在尝试创建一个代码块,该代码块接受用户输入的值并将其与页面加载时生成的随机数进行比较。现在,无论条件值是多少,都将显示guess函数中的if语句。如果它们是正确的,则显示第一条消息和第三条消息;如果错误,则也显示这两条消息。我应该对代码进行哪些更改,以获取if语句来警告与用户输入值相关的正确响应。

<html>
    <head>
        <script>
            window.addEventListener("DOMContentLoaded", setup);
            void setup(); {
            var rNumber1 = Math.random(1-100);
            var rNumber = Math.floor(rNumber1);
            }
        </script>
    </head>
    <body>
        <form>
            <table>
                <tr><td><label>Enter Guess:</label></td><td><input id="guessedNumber" type="text" /></td></tr>
                <tr><td><label>Is Correct?: </label></td><td><label id="guessResult"></label></td></tr>
                <tr><td>&nbsp;</td><td><button type="button" onclick="guess()">Submit Guess</button></td></tr>
            </table>
        </form>
        <script>
            function guess() {
                var guessedNumber = document.getElementById("guessedNumber");
                if (guessedNumber != rNumber) {
                alert("Your guess is incorrect. Try Again!");
                } else if (guessedNumber == NaN) { 
                    alert("Please enter a valid Number");
                } else (guessedNumber == rNumber) 
                    alert("You guessed correctly!");
                }
        </script>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

尝试:

var guessedNumber = document.getElementById("guessedNumber").value;

此外,Math.random()方法始终返回0到1之间的值(不包括1)。它不带参数。此外,使用-符号传递参数的方式将从后者中减去前一个数字。通常,它用于从1到100生成随机数的方式是:

rNumber1 = (Math.random()*100+1)

它将数字乘以100并加上1,以确保您永远不会得到0。此外,您不会得到101,因为它返回的值介于0和1之间(不包括1)。

答案 1 :(得分:0)

使用.value从输入框中获取值

此外,我在else语句中没有看到任何括号,并在else语句中删除了条件。

setup()在任何地方都没有定义,所以我不知道您要怎么做

<html>
    <head>
        <script>
            //window.addEventListener("DOMContentLoaded", setup);
            //void setup(); {
            //var rNumber1 = Math.random(1-100);
            var rNumber = Math.floor(Math.random() * 100) + 1
            //}
        </script>
    </head>
    <body>
        <form>
            <table>
                <tr><td><label>Enter Guess:</label></td><td><input id="guessedNumber" type="text" /></td></tr>
                <tr><td><label>Is Correct?: </label></td><td><label id="guessResult"></label></td></tr>
                <tr><td>&nbsp;</td><td><button type="button" onclick="guess()">Submit Guess</button></td></tr>
            </table>
        </form>
        <script>
            function guess() {
              console.log(rNumber);
                var guessedNumber = parseInt(document.getElementById("guessedNumber").value);
                if (guessedNumber != rNumber) {
                  alert("Your guess is incorrect. Try Again!");
                } else if (guessedNumber == NaN) { 
                    alert("Please enter a valid Number");
                } else {
                    alert("You guessed correctly!");
                }
            }
        </script>
    </body>
</html>