JavaScript向学生提供有关功能中是否语句的帮助



我试图用一个按钮制作一个输入框,该按钮检查输入以查看用户输入年龄是否大于18岁,输入年龄不必精确,因为我只是只有想知道该怎么做

我相信我会使用IF语句来检查输入值是否大于我选择的值

任何人都可以帮忙我迷路和困惑,如果我可以将if语句放在我创建的函数或创建新的

的功能中,无法解决

事先感谢您的观看,希望我能够在我的课程中向社区做出贡献

<!DOCTYPE html>
<html>
<head>
    <title>Java Test</title>
</head>
<body>
    <h1>Enter Your Birthday to Proceed</h1>
    <input type="date" id="myDate" value="2001-01-01">
    <button onclick="MyFunction()"> Submit </button>
    <p id="demo"></p>
    <script>
    function MyFunction() {
    var x = document.getElementById("myDate").value;
    document.getElementById("demo").innerHTML = x;

    var year = parseInt(x.value.split('-')[0]);
    if (year > 1998) {
      alert("you are too young");
       }
    }
    </script>
</body>
</html>

if语句是大多数编程语言中最基本的组件之一。在JavaScript中,语法是:

if (condition) {
  // then execute this code
}

条件可以是"真实"的任何东西,也就是说,它可以解决为真或错误。例如,如果变量x存储小于20的值,则x < 20是A true 条件。否则是 false

您可以在此处阅读有关if语句的更多信息。

一个函数可以包含任何数量的代码行,因此,在您的情况下,只需在拥有足够信息的情况下使用if语句即可。

您使用的是HTML5 <input type="date">元素,该元素将其结果存储在其value属性中,以YYYY-MM-DD格式。

var myDate = document.getElementById('myDate')
console.log(myDate.value) // --> "2017-10-3"

从您的问题中,您对这一年感兴趣,因此您需要单独获取该部分并将其转换为数字。

var sections = myDate.value.split('-');
// console.log(sections) --> ["2017", "10", "3"]
var yearString = sections[0]; // get the first section
// console.log(yearString) --> "2017"
var year = parseInt(yearString);
// console.log(year) --> 2017

编辑从这里开始

拥有year后,您将其与当年确定年龄进行比较。

var thisYear = new Date().getFullYear();
var age = thisYear - year;

现在您准备构建if

if (age > 18) {
  alert("you are old");
}

工作示例:

<!DOCTYPE html>
<html>
<head>
  <title>Java Test</title>
</head>
<body>
  <h1>Enter Your Birthday to Proceed</h1>
  <input type="date" id="myDate" value="1980-01-01">
  <button onclick="MyFunction()"> Submit </button>
  <p id="demo"></p>
  <script>
    function MyFunction() {
      var x = document.getElementById("myDate").value;
      document.getElementById("demo").innerHTML = x;
      var year = parseInt(x.split('-')[0]);
      var thisYear = new Date().getFullYear();
      var age = thisYear - year;
      if (age > 18) {
        alert("you are old");
      } else if (age <= 18) {
        alert("you are too young");
      }
    }
  </script>
</body>
</html>

希望这会有所帮助!

最新更新