【问题标题】:Adding days to the current date with JavaScript in a form在表单中使用 JavaScript 将天数添加到当前日期
【发布时间】:2013-04-10 08:42:14
【问题描述】:

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

【问题讨论】:

  • 你写了两个同名的onclick事件...

标签: javascript html forms datetime button


【解决方案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">

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    • 1970-01-01
    相关资源
    最近更新 更多