javascript - 输入出生日期时,我如何才能使您只能在 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。
解决方案
您还必须设置事件侦听器
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">
推荐阅读
- javascript - 未捕获的 ReferenceError:jQuery 未在 wordpress 自定义脚本中定义
- python - 全局命名空间中无法解释的变量
- firebase - Android Fabric 到 Firebase 迁移对生产应用程序的影响
- laravel - 不能在 Laravel eloquent 的 slim 3 中使用“$query”
- dart - Flutter:使用不同的数据和返回按钮刷新同一屏幕
- excel - ActiveX 文本框将日期显示为数字
- python - Python Sys获取异常行号
- c# - 在 ASP.Net (Visual Studio 2013) 中以结构格式解析 Json 数据
- bash - linux命令行单引号转义问题
- r - 传单 R 中具有不同形状和颜色的自定义标记