[英]Using Autoform package with Meteor Blaze but form won't submit. No errors
我正在使用 autoForm 生成表单。 我有一个使用简单模式 package 设置的模式。 当我单击表单上的提交时,什么也没有发生。 我没有收到错误消息,并且我的数据库中没有新条目。 该模式似乎正在工作,因为如果输入错误,则字符最小约束会显示在表单上。
我对 autoForm 将提交路由到哪个方法感到困惑。 据我了解,它应该自动执行此操作,并且我不需要创建事件侦听器来处理提交。
我的代码如下
配方.html
<template name="insertRecipeForm">
{{> quickForm collection="Recipes" id="insertRecipeForm" type="insert"}}
</template>
食谱.js
export const Recipes = new Mongo.Collection('recipes');
const Schemas = {};
Schemas.Recipe = new SimpleSchema({
name: {
type: String,
min: 1},
instructions: {
type: String,
min: 5,
autoform: {
afFieldInput: {
type: "textarea",
rows: 2,
class: "foo"
}
}
},
owner: {
type: String,
min: 1,
autoform: {
type: "hidden"
}
},
username: {
type: String,
min: 1,
autoform: {
type: "hidden"
}
}},
{ tracker: Tracker })
Recipes.attachSchema(Schemas.Recipe)
我的 recipe.js 文件中有一个旧的“recipes.insert”方法。 这会干扰 autoForm 吗?
insert
类型仅在客户端插入。 如果要将值传递给 meteor 方法,则需要设置type="method" meteormethod="recipes.insert"
或者,您可以用户type="normal"
并拦截submit
事件以使用您的自定义提交:
Template.myTemplate.events({
'submit #insertRecipeForm' (event) {
event.preventDefault() // cancel submission
const { insertDoc } = AutoForm.getFormValues('insertRecipeForm')
Meteor.call('recipes.insert', insertDoc)
}
})
见: https://github.com/Meteor-Community-Packages/meteor-autoform#non-collection-forms
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.