2015-10-14 69 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);

只要你格式化你的约会吧,一切都应该是好

相关问题