<label for="start">Date of birth:</label>
<input type="date" id="start" required="required" name="trip-start" value="2021-10-02">
填写表格时,仅允许年龄在 15 岁到 80 岁之间,如何做到这一点。
最佳答案
您将需要 Javascript 来实现您想要的:
HTML:
<html>
<head>
<script src="./<your-external-js-file>"></script>
</head>
<body>
<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>
</body>
</html>
将其添加到您的外部 JS 文件中:
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);
};
通过这样做,每当您的文档加载时,都会执行此函数,它将计算最小日期(年龄<80)和最大日期(年龄>18) 从当前日期开始,根据应用的公式,并将 'min' 和 'max' 属性设置到我们的输入字段。
关于javascript - 输入出生日期时如何限制允许的年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69416308/