使用Javascript从html字段中获取年龄

时间:2014-11-05 11:12:53

标签: javascript html

我需要弹出一个对话框,以显示输入值的年份和月份。我已经尝试了几种方法,但它仍然无法解决。我得到NaN作为答案。有人可以帮帮我吗?

我的HTML:

<label for="dob">Child’s Date of birth</label>
<input class="form-control" type="date" name"dob" placeholder="Date of birth" id="dob" onblur"dateofBirth()"/>

和Javascript:

function dateofBirth{
var dofBirth = document.getElementById("dob").value;
var age = (new Date() - dofBirth) / (1000 * 60 * 60 * 24*365);
alert("The child's age is "+ age);
}

2 个答案:

答案 0 :(得分:0)

我猜测输入后dofBirth是String类型。您需要将其转换为日期作为日期。

var age = (new Date - new Date(dofBirth))

希望有所帮助!

答案 1 :(得分:0)

首先,日期输入法尚未得到广泛支持,但是,chrome给了我&#34; 2014-11-05&#34;正如JS将获得的价值。

因此,你可以使用badrequest400的方法,但似乎有一个时区调整。所以我建议像:

var tempStr = doBirth.split("-");
var age = (new Date() - new Date(tempStr[0], tempStr[1] - 1, tempStr[2])); // Plus your other calculations.

因为月份从0到11,所以减去一个是必要的。