繁体   English   中英

使用 Autoform package 和 Meteor Blaze 但表单不会提交。 没有错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM