【发布时间】:2017-09-08 23:56:35
【问题描述】:
谁能告诉我为什么下面的代码不能工作并提供一个可能的修复。当按下按钮时,我希望它根据用户是否在输入字段中输入数字来显示正确或错误。
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变量的空字符串,不是用户输入的值,因此您的函数将始终显示@ 987654325@。除了使用输入的.value属性外,您可以通过与为输出元素设置.innerHTML类似的方式从输入中获取值。 (顺便说一句,一旦您更改了代码以从输入中获取值,请注意,如果您传递一个空字符串,isNaN()将返回false。)
标签: javascript html if-statement