这是我输入生日时计算一个人年龄的代码。我在阅读生日输入和使用getAge函数时遇到问题。此外,我无法在第二个文本字段中显示年龄。我不确定如何纠正这些。
{{1}}
答案 0 :(得分:0)
首先
function getAge(birth)
与
不同 getAge()
第二
var pieces = birth.split('/');
应该是
var pieces = [];
pieces = birth.split('/');
答案 1 :(得分:0)
您如何知道您的用户是否以您想要的格式输入日期? 首先,您必须通过在该输入的占位符中给出指令来确保它们以您想要的格式输入。 我们假设他们在“YYYY-MM-DD'格式。这是使用时刻js的解决方案。 您的代码存在的问题是您没有获得bDay字段的值。 获得这样的价值
var bday = document.getElementById("bday").value;
立即拆分
var bDaySplit = bDay.split('/');
var birthYear = bDaySplit[0], month = bDaySplit[1], day = bDaySplit[2];
var currDate = moment(), // get the current date using monment js
birthday = moment(birthYear + '/' + month + '/' + day); //
var age = currDate.diff(birthday, 'years');
现在age
就是您所需要的。根据需要使用它。
希望这有帮助。
P.S-如果您不了解,请查看当前的js库。
答案 2 :(得分:0)
嘿,脚本中的这段代码
var age = getAge(birthday);
ageDisplay.value = age
生日未定义,导致此行出错。
var pieces = birth.split('/');
这就是你的功能停止工作的原因。
第二个问题是我在你的函数中看不到任何从birth元素获取数据的代码,以获取值
var bday = document.getElementById("bday").value;
希望有所帮助