Meteor.js 如何在提交时添加所有表单元素?

How to add all form's elements on submit in Meteor.js?

我正在尝试创建一个在输入字段中输入信息后保存信息的应用程序!我在添加具有 1 个以上输入字段的表单时遇到了一些问题。

这些是我的 HTML 和 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>

请告诉我如何添加超过 2 个输入,并通过单击提交按钮显示?

真的不清楚你的问题是什么。是否可以像包含第二个文本字段并将其与第一个字段同时保存到 mongo 一样简单?

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() });

我建议看一下这个很棒的 Meteor 表单管理包:https://github.com/aldeed/meteor-autoform