提交时,我无法将“输入您的年龄”处的文本更改为“您的年龄”。当我提交DOB时,是否可以将“输入您的年龄”更改为“您的年龄是:X”?
function myFunction() {
var dobString = document.getElementById("birth_date").value;
var calculatedValue = calculate_age(dobString);
}
function calculate_age(dobString) {
var diff_ms = Date.now() - Date.parse(dobString);
var yearString = "";
var yearValue = Math.floor(diff_ms / 31536000000);
console.log("Years ", yearValue);
if (yearValue > 1)
yearString = " years";
else
yearString = " year";
if (yearValue > 0)
var calculatedValue = yearValue + yearString + " ";
else if (yearValue == 0)
var calculatedValue = monthValue + monthString + " ";
document.getElementById("age").innerHTML = "Your Age is : " + calculatedValue;
}
<form>
Birthday: <input type="date" name="bday" id="birth_date">
<br><br>
</form>
<button onclick="myFunction()">view</button><br>
<h2>Enter your age</h2>
<p id="age"></p>
将模板更新为
<h2 id="age">Enter your age</h2>
并且将脚本更新为这样
document.getElementById("age").textContent = "Your Age is : " + calculatedValue;
您需要对年龄进行一些不同的计算。也许像这样:
var birthday = new Date(dobString), //Year, month, day.
today = new Date(),
one_year = 1000*60*60*24*365;
let yearValue = Math.floor( (today.getTime() - birthday.getTime() ) / one_year)
我创建了一个小提琴供您查看实际操作: