处理表单提交

时间:2016-02-05 20:18:49

标签: meteor semantic-ui

我在模态中有一个表单,我似乎无法捕获提交事件。

假设我们将html页面定义为(为了简单起见,省略了我定义的任何模板)

<body>
    <button class="ui button">Open modal</button>
    <div class="ui small modal">
        <div class="header">
            Enter your email
        </div>
        <div class="content">
            <form class="ui form">
                <div class="field">
                    <div class="ui left icon input">
                        <i class="at icon"></i>
                        <input type="email" name="email" placeholder="Email">
                    </div>
                </div>
                <div class="ui error message">
                </div>
            </form>
        </div>
        <div class="actions">
            <div class="ui negative button">
                Cancel
            </div>
            <div class="ui positive primary loadable button">
                Reset password
            </div>
        </div>
    </div>
</body>

并注册模板事件

Template.body.events({
    'click button': function () {
        $('.modal').modal('show');
    },
    'submit form': function () {
        alert('called');
    }
});

当我提交表单时,处理程序无法解决问题。为什么以及什么是最好的方法?

我通过将模态的内部内容定义为模板来获得类似的工作,但它使事情变得更加困难。还有其他办法吗?

编辑:这是解决问题的meteorpad

1 个答案:

答案 0 :(得分:0)

这种行为背后的原因是modal与DOM分离。通过设置detachable: false

可以覆盖此行为

这是有效的meteorpad

Credits