我有应该一个星期添加到窗体日期并将其存储形式为下一次用户点击该链接加入JavaScript天到给定日期
function changeDate()
{
var start = document.getElementById('start_date').value;
var d = 7;
var myDate=new Date(start);
myDate.setDate(myDate.getDate()+parseInt(d));
document.getElementById('start_date').value = (myDate.getFullYear()) + '-' + (myDate.getMonth()+1) + '-' + (myDate.getDate());
}
我的表格下面的JavaScript函数看起来是这样的
<?php
$start_date = "2014-09-20";
?>
<form name="myForm" method="post">
<input type="text" name="start_date" id="start_date" value="<?php echo $start_date?>"/>
<a href="#" onclick="changeDate();">Next</a>
</form>
这个脚本作品每个用户点击超链接“下的”时间精细递增一个星期,问题与一个月边界发生。当日期为“2014-09-27”时,脚本会正确计算下一个日期并显示“2014-10-04”。当下次点击发生问题时,一旦下一次脚本失败,月份发生改变。我不明白为什么,我试着提醒start_date,它是正确的“2014-10-04”,但是一旦执行新的Date命令,它会返回一个无效的日期。
奇怪的是,它不会在月份边界上失败(这实际上得到正确计算),但它在下一次失败。我认为它可能与当前月份有关,但无关紧要,如果我将start_date设置为“2014-11-03”,它将继续正确添加,直到显示日期“2014-12-01”,但是将在下一次失败。
任何帮助是极大的赞赏
+1,moment.js是甜蜜的。 – Amadan 2014-09-30 03:31:25
我刚刚用'new Date(“2014-9-27”)''进行了测试。 Chrome和Node接受它,Firefox和IE10则不接受。 – dusky 2014-09-30 07:14:48