我正在尝试计算年龄字段,但是我一直在用NaN作为答案。 我曾尝试更正我的代码,但仍然无法检测到该错误。有人可以帮我指出错误吗?非常感谢帮助。
function getAge() {
var dob = document.getElementById('DOB').value;
dob = new Date(dob);
var today = new Date();
var age = Math.floor((today - dob) / (365.25 * 24 * 60 * 60 * 1000));
document.getElementById('Age').value = age;
}
<div class='input-group date' id='DOB' style="width:195px">
<input type='text' class="form-control" name="DOB" id="DOB" placeholder="mm/dd/yyyy" onblur="getAge()" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
<input type="text" class="form-control" style="width:64px" id="Age" name="Age" value="" placeholder="eg. 21" maxlength="2" />
答案 0 :(得分:2)
您已将ID DOB
分配给外部div以及输入字段。
将外部div的ID更改为其他值,它应该可以工作。
答案 1 :(得分:1)
您有两个具有相同ID =“ DOB”的元素。 document.getElementById('DOB')
将返回div
。因此,dob
是undefined
,计算得出NaN
。