【发布时间】:2016-06-28 12:34:44
【问题描述】:
我是流星新手,在点击事件中遇到了一些问题。
代码是:
Template.addPost.events({
'click button':function(event){
event.preventDefault();
var postName=event.target.postName.value;
Posts.insert({
name:postName,
createdAt:new Date()
});
event.target.postName.value='';
}
});
HTML 代码是:
<template name='addPost'>
<input type='text' placeholder='Add post here' name='postName'>
<button class="btn btn" type="button">Post</button>
</template>
但是在浏览器中单击按钮时,输入值不会插入到 mongo 数据库中。
【问题讨论】:
-
你确定事件没有被触发吗?可能是事件触发但由于缺少权限而添加到集合失败?您可以在事件处理程序中使用 console.log 来确定它是否触发
-
var postName=event.target.postName.value; var postName = $('#myinput').val();
-
@iiro 先生,我放置了 console.log(postName);在 Posts.insert 之前,它没有在控制台中显示任何内容。但是在给出 id='myinput' 并使用 var postName = $('#myinput').val();它工作得很好。你能告诉我为什么它不能使用 javascript 代码工作..
-
@Areca Sir 我放置了 console.log(postName);在 Posts.insert 之前,它没有在控制台中显示任何内容。但是在给出 id='myinput' 并使用 var postName = $('#myinput').val();它工作得很好。你能告诉我为什么它不能使用 javascript 代码工作..
-
我告诉你看看 console.log(event.target) 看看它给出了什么:) 你的代码不起作用的原因是 event.target 没有一个名为 'postName 的属性'。
标签: javascript jquery meteor meteor-blaze