我创建了一个包含两个项目的集合(使用命令控制台输入),现在我正在开发一种从应用程序中将新项目输入集合的方法。
当我输入新名称并点击[enter]时,日志显示表单已提交,并且事件已在船上输入,但实际收集仅保留两个项目。
鉴于日志显示事件正确读取表单输入,我怀疑问题在Blogs.insert
位内,但我不确定是什么错误。< / p>
HTML:
<form class="newblog">
<input type="text" name="blogname" placeholder="New Blog Name"/>
</form>
JS:
Blogs = new Mongo.Collection("blogs");
//...irrelevant stuff for the rest of the app...
Template.blogroll.events({
"submit .newblog": function (event) {
// prevent browser default behaviour
event.preventDefault();
// log input
console.log(event);
// get value from form element
var blog_to_enter = event.target.blogname.value;
// insert a blog into the collection
Blogs.insert({
blog: blog_to_enter,
created: new Date()
});
// clear form
event.target.blogname.value = "";
}
});
答案 0 :(得分:2)
有关示例,请参阅此meteorpad。 也许您已经定义了一些允许/拒绝规则来拒绝插入博客,或者您只是忘记订阅博客集合?
答案 1 :(得分:0)
不要定义var blog_to_enter = event.target.blogname.value; 而不是:
Blogs.insert({
blog: blog_to_enter,
created: new Date()
});
使用&#34; blogname&#34;:
Blogs.insert({
blog: blogname,
created: new Date()
});
它应该那样工作