我的表单有问题。
在我的模板联系人中,我想在我的(管理员)页面上插入此消息。
此代码:
if(Meteor.isClient) {
Template.contact.events({
'submit #mymess' : function(){
event.preventDefault();
var nom = event.target.text.value;
var prenom = event.target.text.value;
var objet = event.target.text.value;
var mail = event.target.text.value;
var content = event.target.text.value;
if(nom != ''){
Messages.insert({
text: nom,
createdAt: new Date()
});
console.log('hello');
event.target.text.value = '';
}
if(prenom != ''){
Messages.insert({
text: prenom,
createdAt: new Date()
});
event.target.text.value = '';
}
if(objet != ''){
Messages.insert({
text: objet,
createdAt: new Date()
});
event.target.text.value = '';
}
if(mail != ''){
Messages.insert({
text: mail,
createdAt: new Date()
});
event.target.text.value = '';
}
if(content != ''){
Messages.insert({
text: content,
createdAt: new Date()
});
event.target.text.value = '';
}
},
});
}
<template name="contact">
<form id="mymess">
<div class="form-group">
<input type="text" name="prenom" class="input_mail_name " placeholder="Prénom">
<input type="text" name="nom" class="input_mail_name f_r" placeholder="Nom">
<input type="text" name="mail" class="input_mail_name long margin-top_20" placeholder="Email">
<input type="text" name="objet" class="input_mail_name margin-top_20 f_r" placeholder="Objet">
<textarea type="text" name="content" placeholder="Messages" class="input_txt_contact margin-top_20"></textarea>
<button type="submit" class="input_mail_send margin-top_20" id="submit">ENVOYER</button>
</div>
</form>
</template>
我不明白为什么我的表单没有插入我的收藏邮件
并在:lib / router / collection.js
Messages = new Mongo.Collection(“messages”);
答案 0 :(得分:1)
您忘了添加参数&#39; event&#39;到您的事件处理程序。在您添加此参数后,您可以使用event.target访问表单元素。[name] .value。
为每个提交添加一个对象会更清晰。
if(Meteor.isClient) {
Template.contact.events({
'submit #mymess' : function(event){
event.preventDefault();
var nom = event.target.nom.value;
var prenom = event.target.prenom.value;
var objet = event.target.objet.value;
var mail = event.target.mail.value;
var content = event.target.content.value;
if(nom != '' && prenom !='' && objet!='' && mail!='' && content !=''){
Messages.insert({
nom: nom,
prenom: prenom,
objet: objet,
mail: mail,
content: content,
createdAt: new Date()
});
console.log('hello');
event.target.nom.value = '';
event.target.prenom.value = '';
event.target.objet.value = '';
event.target.mail.value = '';
event.target.content.value = '';
}
}
});
}
答案 1 :(得分:0)
您需要将事件对象作为参数传递给您的函数:
if(Meteor.isClient) {
Template.contact.events({
'submit #mymess' : function( event ){
event.preventDefault();
var nom = event.target.text.value;
var prenom = event.target.text.value;