使用表单中的JavaScript将当天日期添加到当前日期

时间:2013-04-10 08:42:15

标签: javascript html forms datetime button

我有一个代码可以在JavaScript中将当前日期添加5天,但是我无法将其添加到表单中。这是脚本标签中函数的代码:

function checkDate() {
document.getElementById('dateBtn').onclick = function checkDate () {
    var dt = new Date();
    dt.setDate(dt.getDate() + 5);
    alert(dt);
};

}

我尝试在表单中调用此函数,其名称和属性为:

<form name="Shopping" action="Confirmation_Shop.html" method="get">

要调用函数检查当前日期的+5天,我使用以下代码来:

<input type="button" value="Check Date" onclick="CheckDate()">

当我运行网页时,按钮会显示但什么都不做,但是其他按钮,例如我的“提交”按钮和链接有功能的按钮,可以使用数组检查页面上项目的成本。我也尝试将此代码用于检查日期按钮:

<input type="button" value="Check Date" onload="CheckDate()">

使用此功能时仍然会出现相同的错误,单击时该按钮不执行任何操作。

帮助我非常感激。 谢谢!

编辑:如果我在一个单独的html文档上运行此函数,只是在正文中创建一个按钮而不是表单,当我点击它时,它的工作完全正常。

1 个答案:

答案 0 :(得分:1)

按钮确实有所作为。它为一个不存在的元素(id ='dateBtn')创建一个onclick事件(无论如何都不在你的示例代码中)。

我想也许你想要的是这个:

function CheckDate() {
    var dt = new Date();
    dt.setDate(dt.getDate() + 5);
    alert(dt);
}

注意:我还更改了您的函数名称的大小写,以便它与您的html匹配。


个人而言,我讨厌做内联html事件处理程序(或者你称之为的任何东西)。我更喜欢这个:

document.onload = function(){
    document.getElementById('dateBtn').onclick = CheckDate;  
}

function CheckDate() {
    var dt = new Date();
    dt.setDate(dt.getDate() + 5);
    alert(dt);
}

使用这个html:

<input id="dateBtn" type="button" value="Check Date">

......我认为你的问题总体上是你在试图同时采用两种不同的方式混淆了