我在流星中提交表单时遇到问题。我跟随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();
}
});
但没有控制台输出。没有任何事情发生,也没有错误。
请你帮我做一些调试..
谢谢!
答案 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');
}
}