您好在下面的代码中如何显示选择出生日期后我想显示年龄。 我的预期输出是上面的屏幕截图。 现在,当我选择出生日期时,一切都没有发生。
HTML
<input type="text" name="date_birth1" class="login-input" placeholder="Date Of Birth" id="datepicker11" autofocus>
<input type="text" name="age" id="age" pattern = "^\D{0,100}$" class="login-input" placeholder="Age" Onchange="return findage();" autofocus >
的javascript
function findage() {
var PresentDay = new Date();
var dateOfBirth = (new Date(document.getElementById("datepicker11").value));
var months = (PresentDay.getMonth() - dateOfBirth.getMonth() +
(12 * (PresentDay.getFullYear() - dateOfBirth.getFullYear())));
document.getElementById("age").value = Math.round(months / 12);
}
答案 0 :(得分:1)
Onchange="return findage();"
这应该在第一个输入中,而不是第二个输入!
答案 1 :(得分:1)
您没有使用出生日期字段触发任何事件,因为您使用的是Onchange
而不是onchange
,并且您正在使用年龄文本字段在日期选择器中调用它,而这是工作代码:
function findage() {
var PresentDay = new Date();
var dateOfBirth = (new Date(document.getElementById("datepicker11").value));
var months = (PresentDay.getMonth() - dateOfBirth.getMonth() +
(12 * (PresentDay.getFullYear() - dateOfBirth.getFullYear())));
document.getElementById("age").value = Math.round(months / 12);
alert(Math.round(months / 12));
}
&#13;
<input type="text" name="date_birth1" class="login-input" placeholder="Date Of Birth" id="datepicker11" onchange="findage();" autofocus>
<input type="text" name="age" id="age" pattern = "^\D{0,100}$" class="login-input" placeholder="Age" >
&#13;
答案 2 :(得分:1)
您应该将onchange事件放在出生日期输入框中,而不是在1岁时。
当您从该框中失去焦点后更改出生日期时,将调用onchange事件。
这里我已经为你改变了
<input type="text" name="date_birth1" class="login-input" placeholder="Date Of Birth" id="datepicker11" onchange="findage();" autofocus>
<input type="text" name="age" id="age" pattern = "^\D{0,100}$" class="login-input" placeholder="Age" autofocus >
希望这有助于你