Javascript代码,用于获取不提供任何输出的圣诞节剩余天数

Javascript代码,用于获取不提供任何输出的圣诞节剩余天数,javascript,html,Javascript,Html,我编写这段代码是为了在表中的输入标记中显示当前日期和圣诞节的剩余天数。如果不将相同的代码保存在表单/表格中,则可以使用普通的js、document.write,但当我将其保存在表和表格中时,它不会提供任何输出。请帮我改正我的错误 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Question 4</title> <script lang

我编写这段代码是为了在表中的输入标记中显示当前日期和圣诞节的剩余天数。如果不将相同的代码保存在表单/表格中,则可以使用普通的js、document.write,但当我将其保存在表和表格中时,它不会提供任何输出。请帮我改正我的错误

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Question 4</title>

    <script language="javascript">

    document.write("<h1> Question 4 </h1>");    

    myDate = new Date(); 
    xmas = Date.parse("Dec 25, "+myDate.getFullYear()); 
    today = Date.parse(myDate); 

    days=Math.round((xmas-today)/(1000*60*60*24));

    document.getElementById("date").value = myDate;


    if (days==0) {
    document.getElementById("name2").value = "Today is Christmas!"; 
    }
    if (days<0) {
    document.getElementById("name2").value = "<br>Xmas was " + -1*(days) + " days ago."; 
    }
    if (days>0) {
    document.getElementById("name2").value = "<br>There are " + days + " days to Xmas!";
    }

    </script>

</head>

<body>

    <center>
    <form name="form1">
        <table border=2 width=50% cellspacing=5 cellpadding=8 bgcolor=cyan cols=2>
            <tr>
                <td colspan=2 align=center>
                    When Is Christmas?
                </td>
            </tr>
            <tr>
                <td>
                    Todays Date:
                </td>
                <td>
                    <input name="date" id="name">
                </td>
            </tr>
            <tr>
                <td>
                    Days to Christmas:
                </td>
                <td>
                    <input name="date2" id="name2">
                </td>
            </tr>
        </table>
    </form>
    </center>


</body>
</html>
在HTML中,更改

<input name="date" id="name">


看来你有几件事要做

您正在查找id为date的元素的值,但不存在任何元素。更新为 您的代码试图在页面完全加载之前执行,因此DOM尚未就绪。如果将脚本部分移动到正好在之前,则页面将准备就绪。
在此之后,您应该能够删除新日期而不是hello,并且您将开始看到一些进展。

today=Date.parsemyDate;不是制作日期副本的最佳方法-使用today=new DatemyDate.getTime;另外,用var@Pointy:new DateoldDate更简单不需要getTime,永远……如果答案对你有用,你有没有可能接受?谢谢
<input name="date" id="date">