首页 > 解决方案 > 输入出生日期时,我如何才能使您只能在 15 至 80 岁之间

问题描述

window.onload = function() {
  var date = new Date();
  var dd = date.getDate();
  var mm = date.getMonth() + 1;
  var yyyy = date.getFullYear();

  //Add a zero if one Digit (eg: 05,09)
  if (dd < 10) {
    dd = "0" + dd;
  }

  //Add a zero if one Digit (eg: 05,09)
  if (mm < 10) {
    mm = "0" + mm;
  }

  minYear = yyyy - 80; //Calculate Minimun Age (<80)
  maxYear = yyyy - 18; //Calculate Maximum Age (>18)

  var min = minYear + "-" + mm + "-" + dd;
  var max = maxYear + "-" + mm + "-" + dd;

  document.getElementById("start").setAttribute("min", min);
  document.getElementById("start").setAttribute("max", max);
};
<form>
  <label for="start">Date of birth:</label>
  <input type="date" id="start" required="required" name="trip-start" value="2021-10-02" />
  <input type="submit" />
</form>

我在这里到底做错了什么?我的 JavaScript 不工作。它仅作为内联 JavaScript 工作,但由于某种原因它使我的其他 JavaScript 代码无效并且仍然无法工作,所以我制作了一个单独的外部 JS 文件来测试它,但它不起作用。

注意:它不能是内联 JavaScript。

标签: javascripthtml

解决方案


您还必须设置事件侦听器

  function getEvent(){
var age = getElementById("start").value;
if(age<18 || age> 80){
 console.log("age should be between 18 and 80")
}
}
<input type"submit" onclick="getEvent()" name="click here">

推荐阅读