2015-10-14 51 views
0

我想輸入的日期字段設置爲當前日期:設置當前日期的流星模板輸入[類型=日期]

Template.something.onRendered(function() { 
    var today = new Date(); 
    var dateString = today.format("yyyy-MM-dd"); 
    $('#age').val(dateString); 
}); 

<template name="something"> 
    <input type="date" id="age"> 
</template> 

但是,這並不工作,我看不出有什麼我做錯了......

,我發現了錯誤Exception from Tracker afterFlush function

+0

嗯 - 你可以格式化'日期()'這樣。 ..'(new Date()).format(「yyyy-MM-dd」)'''yyyy-MM-dd'' – tymeJV

回答

1

有可能會阻礙該代碼工作的幾件事情。

首先,.format()來自moment.js,除非你有自己的.format()方法集,或者你正在使用其他庫。我會假設你正在使用的時刻。所以首先你需要確保你加載了moment.js。

其次,您不能直接在Date對象上使用.format()。相反,您需要這樣做:

moment(today).format(); 

最後,日期字符串區分大小寫。所以"yyyy-MM-dd"將無法​​正常工作。您需要使用全部大寫:"YYYY-MM-DD"

moment(today).format("YYYY-MM-DD"); 

這更是覆蓋在文檔:http://momentjs.com/docs/

+0

哦,我不使用moment.js。我以爲我可以直接... – user3142695

+0

@ user3142695你可以,但不是'.format()'方法。那是來自時刻。說實話,我建議用時刻格式化日期;它會處理所有瀏覽器不一致的情況。 –

0

首先,格式化掉,得使用時刻。

其次,確保#age元素在DOM if ($('#age').length > 0) $('#age').val(dateString);

只要你格式化你的約會吧,一切都應該是好

相關問題