首页 > 解决方案 > if 和 else 语句条件值未被识别

问题描述

我正在尝试创建一个代码块,该代码块接受用户输入值并将其与页面加载时生成的随机数进行比较。现在,无论条件的值是什么,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>

标签: javascripthtml

解决方案


使用从输入框中获取的值.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>


推荐阅读