流星多输入邮件

时间:2015-06-17 10:57:33

标签: forms input meteor

我的表单有问题。

在我的模板联系人中,我想在我的(管理员)页面上插入此消息。

此代码:

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”);

2 个答案:

答案 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;