流星进入新闻界无法提交表格

Meteor enter press not working on submitting a form

我在 meteor 中提交表单时遇到问题。我正在按照在其他地方看到的 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();
  }
});

但是没有控制台输出。没有任何反应,也没有错误。

你能帮我调试一下吗..

谢谢!

Events 使用 css 选择器,将您的代码更改为以下内容:

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

}
});

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

试试这个:

'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');
    }
}