Alih-alih tombol kirim, saya memiliki tautan:
<form>
<a href="#"> submit </a>
</form>
Bisakah saya membuatnya mengirimkan formulir saat diklik?
javascript
html
forms
hyperlink
berpasir
sumber
sumber
target="_blank"
sepertinya tidak berfungsi.<a role="button" aria-label="submit form" href="javascript:void(0)" onclick="document.querySelector('form').submit()">Submit</a>
Jawaban:
Jalan terbaik
Cara terbaik adalah dengan memasukkan tag masukan yang sesuai:
Cara JS terbaik
Lampirkan kode JavaScript terakhir dengan sebuah
DOMContentLoaded
peristiwa (pilih hanyaload
untuk kompatibilitas mundur ) jika Anda belum melakukannya:Cara yang mudah, tidak dapat diatur (jawaban sebelumnya)
Tambahkan
onclick
atribut ke tautan danid
ke formulir:Semua cara
Apapun cara yang Anda pilih, pada
formObject.submit()
akhirnya Anda akan dipanggil (di manaformObject
objek DOM dari<form>
tag).Anda juga harus mengikat pengendali kejadian tersebut, yang memanggil
formObject.submit()
, sehingga dipanggil ketika pengguna mengklik tautan atau tombol tertentu. Ada dua cara:Direkomendasikan: Ikat event listener ke objek DOM.
Tidak disarankan: Sisipkan JavaScript sebaris. Ada beberapa alasan mengapa teknik ini tidak direkomendasikan. Salah satu argumen utamanya adalah Anda mencampur markup (HTML) dengan skrip (JS). Kode menjadi tidak teratur dan agak tidak dapat dikelola.
Sekarang, kita sampai pada titik di mana Anda harus memutuskan elemen UI yang memicu panggilan submit ().
Sebuah tombol
Sebuah link
Terapkan teknik yang disebutkan di atas untuk menambahkan pendengar acara.
sumber
name="submit"
,submit()
metode formulir Anda tidak akan dapat diakses.<input type="submit">
memiliki lebih banyak makna semantik daripada, katakanlah<a href="#" onclick="...">
,. Hal ini penting terutama untuk pembaca layar. Jika Anda harus menggunakan yang terakhir, saya sarankan untuk menggunakan ARIA .Jika Anda menggunakan jQuery dan membutuhkan solusi inline, ini akan bekerja dengan sangat baik;
Juga, Anda mungkin ingin mengganti
dengan
agar pengguna tidak menggulir ke bagian atas halaman Anda saat mengklik link.
sumber
href="#"
dan kemudian memilih semua tautan tersebut dengan jquery dan memanggile.preventDefault()
diclick
event handler sehingga browser tidak menggulir.Anda dapat memberikan formulir dan tautan beberapa id dan kemudian berlangganan untuk
onclick
acara tautan dansubmit
formulir:lalu:
Saya akan merekomendasikan Anda menggunakan tombol kirim untuk mengirimkan formulir karena itu menghormati semantik markup dan itu akan berfungsi bahkan untuk pengguna dengan javascript dinonaktifkan.
sumber
HTML & CSS - Tanpa Solusi Javascript
HTML:
CSS:
sumber
ini bekerja dengan baik tanpa memerlukan fungsi khusus. Jauh lebih mudah untuk menulis dengan php juga.
<input onclick="this.form.submit()"/>
sumber
<input onclick="this.form.submit()"> Some Text</input>
sumber
Ini bekerja dengan sempurna dalam kasus saya.
Anda dapat menggunakannya dalam fungsi juga seperti,
Tetapkan "theForm" sebagai ID formulir Anda. Selesai.
sumber
inilah solusi terbaik untuk pertanyaan Anda: di dalam formulir Anda memiliki kode ini:
di file CSS, lakukan ini:
di JS Anda melakukan ini:
Ini dia.
sumber