这里怎么了?为什么我的Javascript不工作?
这是一个新手,刚刚开始一点JavaScript。我无法理解为什么下面的内容不适用于渲染。html在那里,但是当我点击按钮时没有得到任何文本这里怎么了?为什么我的Javascript不工作?,javascript,html,Javascript,Html,这是一个新手,刚刚开始一点JavaScript。我无法理解为什么下面的内容不适用于渲染。html在那里,但是当我点击按钮时没有得到任何文本 <!doctype html> <html> <head> <title>Js to Validate Data</title> </head> <body> <h1>Can JS Validate User input?</h1>
<!doctype html>
<html>
<head>
<title>Js to Validate Data</title>
</head>
<body>
<h1>Can JS Validate User input?</h1>
<p> Please enter number between 1 and 21:</p>
<input id="nums" type="number">
<button type="button" onclick="chkData()">Verify Entry</button>
<p id="demo"></p>
<script>
function chkData() {
var x, text;
x = document.getElementById("nums").value;
if (isNaN(x) || x<1 || x> 21) {
text = "Invalid Input, try again!";
}
else {
text = "All Ok!";
}
}
</script>
</body>
</html>
Js来验证数据
JS可以验证用户输入吗?
请输入介于1和21之间的数字:
验证输入
函数chkData(){
变量x,文本;
x=document.getElementById(“nums”).value;
if(isNaN(x)| | x21){
text=“输入无效,请重试!”;
}
否则{
text=“一切正常!”;
}
}
你应该对正在发生的事情有点具体。据我所知,您无法看到文本
,因为您没有将其添加到html中。选择id为demo
的div,并使用innerText
将文本附加到div
函数chkData(){
变量x,文本;
x=document.getElementById(“nums”).value;
if(isNaN(x)| | x21){
text=“输入无效,请重试!”;
}
否则{
text=“一切正常!”;
}
document.getElementById('demo').innerText=text;
}
JS能验证用户输入吗?
请输入介于1和21之间的数字:
验证输入
到底应该发生什么而没有发生什么?如果您希望HTML发生变化,您能指出您认为会更新HTML的确切代码行吗?现在,您正在创建一个
text
变量,您从未对该变量执行任何操作。因此,当单击“验证输入”按钮时,文本应显示为输入无效,请再试一次,否则一切正常。您希望更改哪行代码来显示新文本?它不会更改应添加到其中的HTML。或者这就是你的意思?好的,然后加上。你认为哪行代码会将该文本添加到你的HTML中?如果你解释了问题是什么以及你做了什么来修复它,这将是一个不错的答案。这是令人难以置信的困惑,因为当这位先生在教程中这样做时,所以当我做同样的事情时,我无法理解为什么它不起作用。@MacallaCraske尝试重新检查您的代码并将文本添加到html中,正如我在上面的代码片段中所示:)它将按照您的预期工作。啊,这对我来说确实有意义。谢谢你,穆罕默德。我来试一试。关键是这一行document.getElementById('demo')。innerText=text代码>您缺少的内容。