Apakah bisa mengirimkan formulir yang tidak memiliki tombol submit (dengan menekan enter) contoh:
<form [ngFormModel]="xxx" (ngSubmit)="xxxx()">
<input [(ngModel)]="lxxR" ngControl="xxxxx"/>
</form
mungkin Anda menambahkan keypress
atau keydown
ke kolom input dan menetapkan acara ke fungsi yang akan melakukan submit ketika enter diklik
template Anda akan terlihat seperti ini
<form (keydown)="keyDownFunction($event)">
<input type="text" />
</form
Dan Anda berfungsi di dalam kelas Anda akan terlihat seperti ini
keyDownFunction(event) {
if (event.keyCode === 13) {
alert('you just pressed the enter key');
// rest of your code
}
}
Edit:
Untuk menggunakan metode ini, Anda perlu memiliki tombol kirim meskipun tidak ditampilkan "Terima kasih atas jawaban Toolkit "
Jawaban Lama:
Ya, persis seperti yang Anda menulisnya, kecuali nama acara adalah(submit)
bukan(ngSubmit)
:sumber
Saya lebih suka
(keydown.enter)="mySubmit()"
karena tidak akan ditambahkan jeda baris jika kursor berada di suatu tempat<textarea>
tetapi tidak di ujungnya.sumber
Cara ini jauh lebih sederhana ...
sumber
Selalu gunakan keydown.enter sebagai ganti keyup.enter untuk menghindari keterlambatan.
dan berfungsi di dalam component.ts
sumber
tambahkan ini di dalam tag masukan Anda
sumber
ini seharusnya berfungsi dan telah disebutkan dalam banyak jawaban, namun itu harus ada di tag formulir dan bukan di tombol.
sumber
menambahkan tombol kirim tak terlihat melakukan trik
<input type="submit" style="display: none;">
sumber
Cukup tambahkan
(keyup.enter)="yourFunction()"
sumber
Mudah-mudahan ini bisa membantu seseorang: entah kenapa saya tidak bisa lacak karena kekurangan waktu, jika Anda memiliki bentuk seperti:
ketika Anda menekan
Enter
tombol,clearForm
fungsi dipanggil, meskipun perilaku yang diharapkan adalah memanggildoSubmit
fungsi. MengubahClear
tombol menjadi<a>
tag memecahkan masalah bagi saya. Saya masih ingin tahu apakah itu diharapkan atau tidak. Sepertinya membingungkan sayasumber
Jika Anda ingin memasukkan keduanya lebih sederhana dari apa yang saya lihat di sini, Anda dapat melakukannya hanya dengan memasukkan tombol Anda di dalam formulir.
Contoh dengan fungsi mengirim pesan:
Anda dapat memilih antara mengklik tombol atau menekan tombol enter.
sumber
Jika Anda ingin memasukkan keduanya - terima saat masuk dan terima saat klik lalu lakukan -
sumber