Можно ли отправить форму, в которой нет кнопки отправки (путем нажатия Enter), пример:
<form [ngFormModel]="xxx" (ngSubmit)="xxxx()">
<input [(ngModel)]="lxxR" ngControl="xxxxx"/>
</form
возможно, вы добавляете keypress
или keydown
в поля ввода и назначаете событие функции, которая будет выполнять отправку при нажатии ввода
ваш шаблон будет выглядеть так
<form (keydown)="keyDownFunction($event)">
<input type="text" />
</form
И вы работаете внутри своего класса, это будет выглядеть так
keyDownFunction(event) {
if (event.keyCode === 13) {
alert('you just pressed the enter key');
// rest of your code
}
}
Вы также можете добавить (keyup.enter)="xxxx()"
Редактировать:
Чтобы использовать этот метод, у вас должна быть кнопка отправки, даже если она не отображается "Спасибо за ответ Toolkit "
Старый ответ:
Да, именно так, как вы написали, только(submit)
вместо названия события(ngSubmit)
:источник
Я предпочитаю,
(keydown.enter)="mySubmit()"
потому что не будет добавлен разрыв строки, если курсор находился где-то внутри,<textarea>
но не на его конце.источник
Это очень просто ...
источник
Всегда используйте keydown.enter вместо keyup.enter, чтобы избежать задержек.
и функция внутри component.ts
источник
добавьте это в свой тег ввода
источник
это должно работать и уже упоминалось во многих ответах, однако это должно присутствовать в теге формы, а не на кнопке.
источник
добавление невидимой кнопки отправки делает свое дело
<input type="submit" style="display: none;">
источник
Просто добавьте
(keyup.enter)="yourFunction()"
источник
Надеюсь, это может кому-то помочь: по какой-то причине я не мог отслеживать из-за нехватки времени, если у вас есть такая форма, как:
когда вы
Enter
нажимаете кнопку,clearForm
функция вызывается, хотя ожидаемым поведением было ее вызовdoSubmit
. ЗаменаClear
кнопки на<a>
тег решила проблему для меня. Я все еще хотел бы знать, ожидается это или нет. Это сбивает меня с толкуисточник
Если вы хотите включить оба варианта проще, чем то, что я видел здесь, вы можете сделать это, просто включив свою кнопку внутри формы.
Пример с функцией отправки сообщения:
Вы можете выбрать между нажатием кнопки или нажатием клавиши ввода.
источник
Если вы хотите включить оба - примите при вводе и примите при нажатии, затем сделайте -
источник