我认为,输入域的值没有被读取,并且提交按钮的onclick方法有问题.当我运行后按提交按钮时,什么都不起作用,并且这个错误在那里--捕获TypeError:无法读取document.getElementById.onclick处的null属性(读取"value")。(没有任何效果,我的意思是,段落标记的innerhtml没有发生更改)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>number guessing game</h1>
<input id="guessfield">
<input type="submit" id="submitButton">
<script src="numberGuessingGameScript.js"></script>
</body>
</html>
我运行这个html
const answer = Math.floor(Math.random() * 10 + 1);
document.getElementById("submitButton").onclick = function () {
let guess = document.getElementById("guessField").value;
if (guess==answer) {
alert("correct answer");
}
else if (guess > answer) {
alert("too high");
}
else {
alert("too low");
}
}
这个javascript。
我得到了这个网站-website
这里,当我点击,什么也没发生。
如果我打开控制台检查错误,该错误显示-error
我曾试图使这个网站几次以上-第一,与
<h1>number guessing game</h1>
<label for="genRand">Press This button to generate a random number between 1 and 10</label>
<button id="genRand">generate</button><br>
<label for="inputNo">enter a guess here</label>
<input id="inputNo" type="number" min="1" max="10" placeholder="1-10"><br>
<input type="submit" id="submitNo">
<p id="guide"></p>
html和这个-
function random() {
return Math.floor(Math.random()*10+1)
}
let randomNo;
Number(randomNo)
function genRandNo(a) {
Number(a)
a=random()
}
document.getElementById("genRand").onclick = genRandNo(randomNo);
let input;
input=document.getElementById("inputNo").value;
Number(input);
let guide=document.getElementById("guide").innerHTML;
function onSubmitNo() {
switch (true) {
case input>randomNo:
guide="guess a lower number";
break;
case input<randomNo:
guide="guess a higher number";
break;
default:
guide="you have guessed the correct number"
break;
}
}
javascript语言。
第二,用这个
<input type="text" inputmode="numeric" id="inputNo" placeholder="1-10">
<input type="submit" id="submitNo">
<p id="guide">hello</p>
html和这个-
function random() {
return Math.floor(Math.random()*10+1)
}
let number = random();
let submit = document.getElementById("submitNo").onclick;
let guess = Number(document.getElementById("inputNo").value);
let guide = document.getElementById("guide").innerHTML;
function checkGuess() {
switch (True) {
case guess < number:
guide = "too low";
break;
case guess > number:
guide = "too high";
break;
default:
guide = "correct guess";
break;
}
}
submit = checkGuess();
javascript语言。
在这两种情况下,按提交按钮时也没有发生任何事情
请协助
1条答案
按热度按时间bxfogqkk1#
函数genRandNo(a)为什么用这个random会直接得到一个随机数你不需要用这个
可以直接在随机函数中设置随机值,而不是使用函数genRandNo(a
你使用onclick是错误的
就像这样,调用随机函数,它会得到随机值
这里你设置输入值,它是用启动js运行的,并获取输入值,它是空的,它不会改变,所以,在你的提交按钮中使用它
使用switch是错误的,请使用if-else-if,因为switch只会获取number,并将其与您的情况进行匹配,它将始终运行default。
而不是仅仅使用
当你想改变它时使用这个
我改变了你的js并添加了注解。而不是开关语句使用if-else