【发布时间】:2015-02-07 05:20:27
【问题描述】:
我正在制作一个带有日期输入和以下文本框的表单。如果用户选择的生日小于 16 岁,我希望启用文本框。
到目前为止我有:
function checkAge() {
var birthDate = document.getElementById("DoB");
var today = new Date();
if (today >= new Date(birthDate.getFullYear() + 16, birthDate.getMonth(), birthDate.getDate())) {
// Member over 16, keep parent/guardian textbox disabled.
document.getElementById("parentConsent").disable = true;
} else {
// Require Parent/Guardian permission
document.getElementById("parentConsent").disable = false;
document.getElementById("parentConsent").setAttribute('required');
}
}
这是我当前的 JsFiddle - http://jsfiddle.net/n3d9mLey/
【问题讨论】:
-
我总是
return true看起来像 16 岁以下的人不会在互联网上承认它,如果这意味着被拒绝访问一个网站。 -
这个我怀疑他们必须诚实,因为这将是面对面的健身注册,16岁以下仍然可以注册
-
我看到了你的 JsFiddle。请注意,桌面浏览器并未广泛支持
<input type="date" />。您最好使用独立的<select>元素来分别表示日、月和年。 -
明白了,这是有道理的——所以你不是在为裸体网站写年龄墙:D
-
顺便说一句,您的 jsFiddle 不起作用,因为您已将其设置为将代码包装在
onLoad中,请将侧边栏选项更改为“不包装”。
标签: javascript validation date