无法使用 meteorjs 中的单击事件获取输入值
Cannot get the input value using click event in meteorjs
我是 meteor 的新手,在点击事件中遇到了一些问题。
密码是:
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 数据库中。
您提供的信息非常有限。那里有几个不同的场景。
您确定您调用的是正确的事件吗?在 Posts.insert() 方法上方,尝试 console.log postName 变量。
你有没有摆脱自动发布和不安全的包?
您无法使用
访问 postName 输入的值
var postName=event.target.postName.value;
postName 不是事件目标(即按钮本身)的成员。
将 id 属性添加到输入并访问它的值将解决您的问题。所以访问它:
postName = $('#myinput').val();
点击事件发生在按钮上,但您想在插入中引用输入字段的值。您的 input
字段已经有一个 name
,因此您可以使用 jQuery 和名称选择器来引用它:
Template.addPost.events({
'click button': function(event){
event.preventDefault();
var postName = $('input[name="postName"]').val();
Posts.insert({ name: postName, createdAt: new Date() });
$('input[name="postName"]').val('');
}
});
我是 meteor 的新手,在点击事件中遇到了一些问题。
密码是:
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 数据库中。
您提供的信息非常有限。那里有几个不同的场景。
您确定您调用的是正确的事件吗?在 Posts.insert() 方法上方,尝试 console.log postName 变量。
你有没有摆脱自动发布和不安全的包?
您无法使用
访问 postName 输入的值var postName=event.target.postName.value;
postName 不是事件目标(即按钮本身)的成员。 将 id 属性添加到输入并访问它的值将解决您的问题。所以访问它:
postName = $('#myinput').val();
点击事件发生在按钮上,但您想在插入中引用输入字段的值。您的 input
字段已经有一个 name
,因此您可以使用 jQuery 和名称选择器来引用它:
Template.addPost.events({
'click button': function(event){
event.preventDefault();
var postName = $('input[name="postName"]').val();
Posts.insert({ name: postName, createdAt: new Date() });
$('input[name="postName"]').val('');
}
});