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
我正在尝试创建一个在输入字段中输入信息后保存信息的应用程序!我在添加具有 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