Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这里怎么了?为什么我的Javascript不工作?_Javascript_Html - Fatal编程技术网

这里怎么了?为什么我的Javascript不工作?

这里怎么了?为什么我的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>

这是一个新手,刚刚开始一点JavaScript。我无法理解为什么下面的内容不适用于渲染。html在那里,但是当我点击按钮时没有得到任何文本

<!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您缺少的内容。