我正在制作一个带有日期输入和后续文本框的表单。如果用户选择了不到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/
答案 0 :(得分:0)
您正在直接使用dom元素来计算日期,您可以尝试这样的事情
function checkAge() {
var birthDate = new Date(document.getElementById("DoB").value);
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');
}
}