使用javascript检查用户是否输入了正确的值
我正在尝试制作一个数字猜测游戏,其中选择了一个介于1-50之间的随机数字,用户必须猜测它。我现在被卡住了,不管用户输入的答案是正确的还是错误的,我的错误警报都会弹出。我想知道我哪里出错了,谢谢你的帮助使用javascript检查用户是否输入了正确的值,javascript,html,Javascript,Html,我正在尝试制作一个数字猜测游戏,其中选择了一个介于1-50之间的随机数字,用户必须猜测它。我现在被卡住了,不管用户输入的答案是正确的还是错误的,我的错误警报都会弹出。我想知道我哪里出错了,谢谢你的帮助 var randomNumber=Math.floor(Math.random()*50)+1; 控制台日志(随机编号); var userGuess=document.querySelector(“#guess”); document.getElementById(“提交”).addEvent
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
,注意:当你提交表单时,会加载一个新页面。非常感谢,这很有效!我知道我错过了一些简单的事情。谢谢你的留言,很高兴知道。非常感谢,这很有效!我知道我错过了一些简单的事情。谢谢你的留言,很高兴知道。