2017-10-07 5 views
-2

J'essaie de créer une application qui enregistre des informations après que je l'ai entré dans les champs de saisie! J'ai quelques problèmes avec l'ajout de mon formulaire qui a plus de 1 champ d'entrée.Comment ajouter tous les éléments de formulaire sur submit dans Meteor.js?

Ce sont mes fichiers HTML et JS:

import { Template } from 'meteor/templating'; 

import { Tasks } from '../api/tasks.js'; 

import './body.html'; 

Template.body.helpers({ 
    tasks() { 
    // Show newest tasks at the top 
    return Tasks.find({}, { sort: { createdAt: -1 } }); 
    }, 
}); 

Template.body.events({ 
    'submit .new-task'(event) { 
    // Prevent default browser form submit 
    event.preventDefault(); 

    // Get value from form element 
    const target = event.target; 
    const text = target.text.value; 

    // Insert a task into the collection 
    Tasks.insert({ 
     text, 
     createdAt: new Date(), // current time 
    }); 

    }, 
}); 
<body> 
    <div class="container"> 
    <header> 

     <form class="new-task"> 
     <input type="text" name="text" placeholder="Type to add new tasks" /> 
     </form> 
    </header> 

    <ul> 
     {{#each tasks}} 
     {{> task}} 
     {{/each}} 
    </ul> 
    </div> 
</body> 

<template name="task"> 
    <li>{{text}}</li> 
</template> 

S'il vous plaît me dire comment pourrais-je ajouter plus de 2 entrées et l'afficher en cliquant sur le bouton submit-?

+0

Difficile à comprendre ce qui est votre problème . Mais avez-vous essayé dupliquer remplacer le nom = "text" par un autre nom de propriété et modifier la référence de données en conséquence? – AirBorne04

Répondre

1

On ne sait vraiment pas quel est votre problème. Cela pourrait-il être aussi simple que d'inclure un deuxième champ de texte et de l'enregistrer dans Mongo en même temps que le premier champ?

html:

<form class="new-task"> 
    <input type="text" name="text" placeholder="Type to add new tasks" /> 
    <input type="text" name="text2" placeholder="Type to add something else" /> 
</form> 

js:

const target = event.target; 
const text = target.text.value; 
const text2 = target.text2.value; 

Tasks.insert({ text, text2, createdAt: new Date() }); 
+0

Votre code dosn't travail ( Impossible de lire la propriété 'valeur' ​​de non définie à Object.click .subm (body.js: 20) texte -const = target.text.value; - Cette bande ( –

+0

désolé. Il était mon erreur Votre code fonctionne Merci) Changer votre réponse pls-pour cela:.! const target = event.target; texte const = target.text.value; const text2 = target.text2.value; Tâches.insert ({text, text2, createdAt: nouvelle Date()}); target.text.value = ''; target.text2.value = ''; –