使用javascript检查用户是否输入了正确的值

使用javascript检查用户是否输入了正确的值,javascript,html,Javascript,Html,我正在尝试制作一个数字猜测游戏,其中选择了一个介于1-50之间的随机数字,用户必须猜测它。我现在被卡住了,不管用户输入的答案是正确的还是错误的,我的错误警报都会弹出。我想知道我哪里出错了,谢谢你的帮助 var randomNumber=Math.floor(Math.random()*50)+1; 控制台日志(随机编号); var userGuess=document.querySelector(“#guess”); document.getElementById(“提交”).addEvent

我正在尝试制作一个数字猜测游戏,其中选择了一个介于1-50之间的随机数字,用户必须猜测它。我现在被卡住了,不管用户输入的答案是正确的还是错误的,我的错误警报都会弹出。我想知道我哪里出错了,谢谢你的帮助

var randomNumber=Math.floor(Math.random()*50)+1;
控制台日志(随机编号);
var userGuess=document.querySelector(“#guess”);
document.getElementById(“提交”).addEventListener(“单击”,提交,错误);
函数提交(){
if(parseInt(userGuess)==randomNumber){
警惕(“你赢了”);
}否则{
警惕(“你输了”);
}
}


猜一 猜2 猜3

你的猜测

您正在调用实际的
元素上的
parseInt
,而不是输入的值(它将返回
NaN
)。实际输入的字符串位于元素的
属性中,因此请替换此字符串:

if (parseInt(userGuess) === randomNumber)
为此:

if (parseInt(userGuess.value) === randomNumber)
它应该会起作用


请注意,将
userGuess
变量初始化为值(即
var-userGuess=document.querySelector(“#guess”).value
而不是
var-userGuess=document.querySelector(“#guess”)
)将不起作用,因为动态更新DOM元素时,
value
属性是一个简单的字符串,因此,
userGuess
将被设置为一个空字符串(
的起始值),并且在用户输入数字时不会更新。

您调用的是实际的
元素上的
parseInt
,而不是输入的值(返回
NaN
)。实际输入的字符串位于元素的
属性中,因此请替换此字符串:

if (parseInt(userGuess) === randomNumber)
为此:

if (parseInt(userGuess.value) === randomNumber)
它应该会起作用


请注意,将
userGuess
变量初始化为值(即
var-userGuess=document.querySelector(“#guess”).value
而不是
var-userGuess=document.querySelector(“#guess”)
)将不起作用,因为动态更新DOM元素时,
value
属性是一个简单的字符串,因此
userGuess
将被设置为空字符串(
的起始值),并且在用户输入数字时不会更新。

您需要获取输入的
值,因此请替换

if (parseInt(userGuess) === randomNumber) {


您可以开始了。

您需要获取输入的
值,所以请替换

if (parseInt(userGuess) === randomNumber) {


你也可以开始了。

userGuess
是一个元素,将元素解析为数字返回
NaN
,这与它本身并不相等。注意:提交表单时,会加载一个新页面
userGuess
是一个元素,将元素解析为数字返回
NaN
,注意:当你提交表单时,会加载一个新页面。非常感谢,这很有效!我知道我错过了一些简单的事情。谢谢你的留言,很高兴知道。非常感谢,这很有效!我知道我错过了一些简单的事情。谢谢你的留言,很高兴知道。