2014-03-25 27 views
2

我的項目中有一個使用HTML5日期輸入類型的輸入字段。這將以YYYY-MM-DD格式保存到我的數據庫中。在另一個頁面中,我從樹枝訪問此日期並將其打印在一張桌子上。以YYYY-MM-DD格式打印。到現在爲止還挺好。但是,當我嘗試使用警告框打印相同的日期時,JavaScript錯誤地解析日期以顯示年份(以及錯誤的年份)。在JavaScript中讀取HTML5日期

輸入字段(如一個更大的「做計劃」輸入表單的一部分):

<input type="date" id="start" name="startdate" class="form-control" required="required"/> 

輸出:

<td>{{plan.startdate}}</td> <!-- This prints correctly YYYY-MM-DD --> 

<td> 
    <script> 
     alert({{plan.startdate}}); <!-- This alerts incorrectly YYYY -->      
    </script> 
</td> 

我實在看不出日期之間的相關性無論是。 2014年3月27日給出了「1984年」的警告框 2014年3月20日在警告框中賦予「1991」 2014年4月1日給「2009」的警告框

我試着使用JavaScript解析日期,但我不確定如何解析不正確的一年。

+6

它是mathetmatics:2014減3減27 = 1984. JS只是計算方程。 –

+0

好吧,我現在不覺得傻。謝謝 - 有什麼辦法強制JavaScript接受它作爲一個日期嗎? – CameronD17

+2

把它引號! –

回答

1

它被評估爲表達式而不是日期字符串。如果你把日期放在引號中,那麼它應該沒問題。見下面

<td>{{plan.startdate}}</td> <!-- This prints correctly YYYY-MM-DD --> 

<td> 
    <script> 
     alert("{{plan.startdate}}"); <!-- This alerts incorrectly YYYY -->      
    </script> 
</td>