如何在流星中使用autoform显示成功消息?

时间:2014-10-10 03:59:41

标签: meteor

我正在使用https://github.com/aldeed/meteor-autoform作为我的一个流星集合。我正在使用quickForm并输入insert。以下是相关代码:

<template name="postInsert">
   <legend>Add your story here</legend>
   {{> quickForm collection="Posts" id="insertPostForm" type="insert" buttonContent="Post!" resetOnSuccess=true}}
</template>

此表单成功提交并创建帖子。但它没有显示成功消息。我知道我可以使用onSuccess钩子并编写我自己的成功消息。但我想知道是否有一种使用autoform配置显示成功消息的标准方法?

我查看了github上的文档并进行了一些搜索,但所有解决方案都指向使用onSuccess钩子。这里的任何指针都很受欢迎

3 个答案:

答案 0 :(得分:17)

经过广泛搜索后,onSuccess钩子是显示成功消息的标准方式。以下是我对完整性以及将来可能偶然发现此问题的其他人的实施。

  

新Autoform 6.0.0

onSuccess: function(formType, result) {
    FlashMessages.sendSuccess('Success!');
    Router.go("/posts");
},
  

OLD

AutoForm.addHooks(['postInsert', 'postUpdate'], {
  onSuccess: function(operation, result, template) {
    FlashMessages.sendSuccess('Success!');
    Router.go("/posts");
  }
});

AutoForm.addHooks 的使用使代码DRY保持允许重用以进行更新以及插入操作。

此外,我使用优秀的flash-messages来显示我的所有用户消息。强烈推荐。

答案 1 :(得分:3)

我没有足够的声誉来评论,但根据code,似乎Autoform.addHooks现在采用formId。

所以你要使用

将你的autoform绑定到id'insertPostForm'
guessesTaken

答案 2 :(得分:1)

根据github上的文档, onSuccess hook

的签名已更改
AutoForm.addHooks(['yourForm'],{
    onSuccess: function(formType, result) {
        Router.go('page',{_id: this.docId});
    }
});

最好检查最新签名:https://github.com/aldeed/meteor-autoform#callbackshooks