我想将日期输入字段设置为当前日期:
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 :(得分: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/
答案 1 :(得分:0)
首先,格式化已关闭,必须暂时使用。
其次,确保#age
元素位于dom if ($('#age').length > 0) $('#age').val(dateString);
只要您将日期格式正确,一切都应该没问题