有人可以告诉我为什么下面的代码不会工作,并提供了一个可能的修复。当按钮被击中时,我希望它根据用户是否在输入字段中输入一个数字来显示正确或不正确。isNaN似乎没有正常工作
HTML:
<!DOCTYPE html>
<body>
<p>Enter name:</p>
<input type="text" name="name"></input>
<button onclick="checkpeople()" type = "button">check</button><br>
<p id="message"></p>
<script src="script.js"></script>
</body>
JS:
function checkpeople() {
var name = "";
if (isNaN(name)) {
name = "incorrect"
}
else {
name = "correct"
}
document.getElementById('message').innerHTML = name;
}
传递给'isNaN()的参数'总是从'name'变量一个空字符串,*不*的值由用户输入,所以你的功能将始终显示“正确”。除了使用输入的'.value'属性外,您可以像输入元素的'.innerHTML'设置类似的方式从输入中获取值。 (顺便说一下,一旦您更改了代码以从输入中获取值,请注意,如果您将空字符串传递给'isNaN()',则返回'false'。) – nnnnnn