流星输入按不提交表格

时间:2016-12-24 10:40:24

标签: forms meteor submit

我在流星中提交表单时遇到问题。我跟随meteor的教程,在其他地方看过,但我的按键事件根本不起作用。我在我的html文件中有这个代码:

{{> novasessao}}

<template name="novasessao">
    <form class="nova-sessao">
        <div class="caixaDadosCliente dadosCliente no-padding">
            <label>Nome</label>
            <input class="inputs" type="text" name="nome" placeholder="Introduza o seu nome" />
            <label>Idade(anos)</label>
            <input type="text" name="idade" placeholder="Introduza a dua idade" />
            <label>Género</label>
            <input type="text" name="genero" placeholder="Introduza o seu sexo" />
            <label>Sessão #</label>
            <input type="text" name="sessao" placeholder="Introduza o número de sessão" />
            <label>Data</label>
            <input type="date" name="data" placeholder="Introduza a data" />
            <label>Quem preenche o formulário?</label>
            <input type="text" name="quemPreenche" placeholder="Introduza quem está a preencher o questionário" /> 
        </div>
    </form>
</template>

和相关js文件上的此代码

Template.novasessao.events({
  'submit form': function(event,template){
      console.log('reached novasessao.submit form');
      console.log(event.target.nome.value);
      event.preventDefault();
  }
});

但没有控制台输出。没有任何事情发生,也没有错误。

请你帮我做一些调试..

谢谢!

2 个答案:

答案 0 :(得分:0)

事件适用于css选择器,将代码更改为:

Template.novasessao.events({
  'submit .nova-sessao': function(event){
      event.preventDefault();
      console.log(event);

}
});

答案 1 :(得分:0)

您仍然可以在没有提交按钮的情况下提交此表单(如果这还是一个要求)。

试试这个:

'keypress form.nova-sessao': function (event) {
    if (event.which === 13) {
        event.preventDefault();
        const target = event.currentTarget;
        const nome = target.nome.value;
        const idade = target.idade.value;

        console.log('NOME', nome);
        console.log('IDADE', idade);
        $(event.target).submit();
        console.log('form submitted');
    }
}