我提交时如何更改文本

问题描述 投票:0回答:1

提交时,我无法将“输入您的年龄”处的文本更改为“您的年龄”。当我提交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>
javascript html jquery ajax dom
1个回答
0
投票

将模板更新为

 <h2 id="age">Enter your age</h2>

并且将脚本更新为这样

document.getElementById("age").textContent = "Your Age is : " + calculatedValue;

0
投票

您需要对年龄进行一些不同的计算。也许像这样:

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)

我创建了一个小提琴供您查看实际操作:

https://jsfiddle.net/6ht89nsL/

© www.soinside.com 2019 - 2024. All rights reserved.