这怎么了?为什么我的Javascript不起作用?

时间:2020-09-20 11:43:20

标签: javascript html

这是新手,仅启动了一些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>

1 个答案:

答案 0 :(得分:3)

您应该对正在发生的事情有所了解。据我猜测,您看不到text,因为您没有将其添加到html中。选择ID为demo的div,然后使用innerText将文本附加到div。

  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!";
     }
    document.getElementById('demo').innerText = text;
  }
<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>