Meteor.js提交活动

时间:2014-01-19 14:02:27

标签: meteor

当我遇到这个奇怪的问题时,我只是在玩Meteor.js,我有一个带有两个文本字段的表单,但不知怎的,我的事件不是在听取提交。 当我删除一个文本字段时,一切正常......

以下是我的表单模板:

<template name="new_timer">
    <div class="timer timer--empty">
        <form id="new_timer">
            <input type="text" name="timer__name" class="timer__name" placeholder="Timer name">
            <input type="text" name="timer__description" class="timer__description" placeholder="Timer description">
        </form>
    </div>
</template>

在客户端:

Template.new_timer.events({
    'submit form': function(e) {
        console.log('new timer');

        e.preventDefault();
    }
})

这似乎不起作用,但是当我将模板更改为以下内容时,它可以正常工作

<template name="new_timer">
    <div class="timer timer--empty">
        <form id="new_timer">
            <input type="text" name="timer__name" class="timer__name" placeholder="Timer name">
        </form>
    </div>
</template>

我只是忽略了一些非常基本的东西吗?

2 个答案:

答案 0 :(得分:1)

您可以添加

之类的活动
'keyup form': function(e) {
    if (e.keyCode === 13) {
        // do something
    }
}

基本上不使用单页应用程序中的提交。在这种应用程序中,一切都是基于事件的,您永远不会重新加载页面,因此您永远不会真正“提交”表单。

“形式”标签变得无用,大多数开发人员(包括我)都习惯性地保留它,但这不是必需的。

答案有点迟,我希望它可以帮助别人!

答案 1 :(得分:0)

我有类似的问题,如果没有这个,提交事件不能用更多的输入:

<input type="submit" hidden="hidden">