É possível enviar um formulário que não possui botão de envio (pressionando enter) exemplo:
<form [ngFormModel]="xxx" (ngSubmit)="xxxx()">
<input [(ngModel)]="lxxR" ngControl="xxxxx"/>
</form
talvez você adicione keypress
ou keydown
aos campos de entrada e atribua o evento à função que fará o envio quando o botão Enter for clicado
seu modelo ficaria assim
<form (keydown)="keyDownFunction($event)">
<input type="text" />
</form
E você funciona dentro da sua classe ficaria assim
keyDownFunction(event) {
if (event.keyCode === 13) {
alert('you just pressed the enter key');
// rest of your code
}
}
Editar:
Para usar este método, você precisa ter um botão de envio, mesmo que não seja exibido "Obrigado pela resposta do Toolkit "
Resposta antiga:
Sim, exatamente como você escreveu, exceto que o nome do evento é em(submit)
vez de(ngSubmit)
:fonte
Prefiro
(keydown.enter)="mySubmit()"
porque não será adicionada uma quebra de linha se o cursor estiver em algum lugar dentro de a,<textarea>
mas não no final.fonte
Assim é muito simples ...
fonte
Sempre use keydown.enter em vez de keyup.enter para evitar atrasos.
e funcionam dentro de component.ts
fonte
adicione isso dentro de sua tag de entrada
fonte
isso deve funcionar e já mencionado em várias respostas, porém deve estar presente na tag do formulário e não no botão.
fonte
adicionar um botão de envio invisível resolve
<input type="submit" style="display: none;">
fonte
Simplesmente adicione
(keyup.enter)="yourFunction()"
fonte
Espero que isso possa ajudar alguém: por algum motivo não consegui rastrear por falta de tempo, se você tiver um formulário como:
ao apertar o
Enter
botão, aclearForm
função é chamada, embora o comportamento esperado fosse chamar adoSubmit
função. Alterar oClear
botão para uma<a>
tag resolveu o problema para mim. Eu ainda gostaria de saber se isso é esperado ou não. Parece confuso para mimfonte
Se você quiser incluir os dois de forma mais simples do que o que vi aqui, você pode fazer isso apenas incluindo o botão dentro do formulário.
Exemplo com uma função enviando uma mensagem:
Você pode escolher entre clicar no botão ou pressionar a tecla Enter.
fonte
Se você deseja incluir ambos - aceitar ao entrar e aceitar ao clicar e fazer -
fonte