0

我有一个代码可以在 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 文档上运行这个函数,并且只是在正文中创建一个按钮而不是一个表单,那么当我点击它时它工作得很好。

4

1 回答 1

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">

...我认为您的问题总体上是您混淆了同时尝试两种不同的方式

于 2013-04-10T08:45:33.047 回答