我有應該一個星期添加到窗體日期並將其存儲形式爲下一次用戶點擊該鏈接加入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