我需要帮助修复我的HTML和JavaScript代码[关闭]

gfttwv5a  于 2023-08-02  发布在  Java
关注(0)|答案(2)|浏览(110)

已关闭,此问题需要details or clarity。它目前不接受回答。
**希望改进此问题?**通过editing this post添加详细信息并澄清问题。

19小时前关闭。
Improve this question
我想做一个地方,你在你的下一个生日的关键和网页做一个window.alert告诉你多少天离开你的生日。当我运行代码时,在输入生日之前,警报显示NaN,这意味着不是数字。我想它的工作后,我在生日后,我点击提交键。这是我写的代码:

<input type="submit" value="Submit">
    
</form>

<script>
let date_1 = new Date(document.getElementById("bday").value);
let date_2 = new Date();

let difference = date_1.getTime() - date_2.getTime();
let TotalDays = Math.ceil(difference / (1000 * 3600 * 24));
window.alert(TotalDays);

</script>
</body>`

字符串

eblbsuwk

eblbsuwk1#

我基本上看到了两个问题。首先,从bday获取的值将是一个字符串,因此您应该确定该值的格式。您需要获取日、月和年,以创建类似“day/month/year”的字符串,并使用Date.parse()将其转换为日期类型。
其次,要获得实际的日期,您应该使用Date.now()。单独的构造函数将无法工作。
应用这些变化,我们有:

let date_1 = Date.parse("13/10/2023");
let date_2 = Date.now();

let difference = date_1 - date_2;
let TotalDays = Math.ceil(difference / (1000 * 3600 * 24));
window.alert(TotalDays);

字符串

3pmvbmvn

3pmvbmvn2#

<!DOCTYPE html>
<html>
<head>
  <title>Birthday Countdown</title>
</head>
<body>
  <form onsubmit="calculateDaysLeft(event)">
    <label for="bday">Enter your birthday:</label>
    <input type="date" id="bday" name="bday" required>
    <input type="submit" value="Submit">
  </form>

  <script>
    function calculateDaysLeft(event) {
      event.preventDefault(); // Prevent form submission to avoid page reload

      // Get the user's birthday from the input field
      let userBirthday = new Date(document.getElementById("bday").value);

      // Get the current date
      let currentDate = new Date();

      // Calculate the difference in milliseconds
      let difference = userBirthday.getTime() - currentDate.getTime();

      // Calculate the difference in days and show the alert
      let totalDays = Math.ceil(difference / (1000 * 3600 * 24));
      window.alert(`There are ${totalDays} days left until your birthday!`);
    }
  </script>
</body>
</html>

字符串

相关问题