<p>我想做一个地方,在那里输入你的下一个生日,页面就会变成一个窗口。提醒你还有几天就是你的生日了。当我运行代码时,在我输入生日之前,警报显示NaN,这意味着不是一个数字。我想让它工作后,我键入生日后,我点击提交。这是我编写的代码:</p>
<p>`
</p>
<pre class="brush:php;toolbar:false;"><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>`</pre>
<p><br /></p>
<!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>