在日期选择器中选择日期后,在我的年龄字段中获取NaN作为结果

时间:2018-11-22 10:14:25

标签: javascript html

我正在尝试计算年龄字段,但是我一直在用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" />

2 个答案:

答案 0 :(得分:2)

您已将ID DOB分配给外部div以及输入字段。 将外部div的ID更改为其他值,它应该可以工作。

答案 1 :(得分:1)

您有两个具有相同ID =“ DOB”的元素。 document.getElementById('DOB')将返回div。因此,dobundefined,计算得出NaN