Saya mencari cara paling rapi untuk membuat formulir HTML yang tidak memiliki tombol kirim. Itu sendiri cukup mudah, tetapi saya juga harus menghentikan formulir dari memuat ulang dirinya sendiri saat hal-hal seperti pengiriman selesai (misalnya, menekan Enterdi bidang teks).
javascript
html
forms
Matt Roberts
sumber
sumber
Jawaban:
Tambahkan penangan onsubmit ke formulir (baik melalui plain js atau jquery $ (). Submit (fn)), dan kembalikan false kecuali kondisi spesifik Anda terpenuhi.
Kecuali jika Anda tidak ingin formulir dikirim, selamanya - dalam hal ini, mengapa tidak membiarkan atribut 'action' pada elemen formulir saja?
sumber
action
atribut bukanlah formulir, menurut standar - dan sebenarnya akan menyebabkan halaman dimuat ulang di beberapa browser .. Menurut saya, formulir ituaction="javascript:void(0);"
berfungsi dengan baik.Anda ingin memasukkan
action="javascript:void(0);"
ke formulir Anda untuk mencegah halaman dimuat ulang dan mempertahankan standar HTML.sumber
Cukup tambahkan acara ini ke bidang teks Anda. Ini akan mencegah pengiriman saat menekan Enter, dan Anda bebas menambahkan tombol kirim atau formulir panggilan.submit () seperti yang diperlukan:
Sebagai contoh:
sumber
Saat Anda menekan enter dalam bentuk, perilaku alami formulir akan dikirimkan, untuk menghentikan perilaku yang tidak wajar ini, Anda harus mencegahnya dari mengirimkan (perilaku default), dengan jquery:
sumber
sebuah ide:
dan
sumber
Dua cara untuk mengatasinya:
sumber
textarea
s, dan mungkin memilih pelengkapan otomatis atau dropdown, dan seluler dapat menjadi sumber masalah lain.Tanggapan pertama adalah solusi terbaik:
Lebih spesifik dengan jquery:
Menulis ekstensi Chrome adalah contoh di mana Anda mungkin memiliki formulir untuk input pengguna, tetapi Anda tidak ingin mengirimkannya. Jika Anda menggunakan action = "javascript: void (0);", kode mungkin akan berfungsi tetapi Anda akan berakhir dengan masalah ini di mana Anda mendapatkan kesalahan tentang menjalankan Javascript sebaris.
Jika Anda mengabaikan tindakan sepenuhnya, formulir akan dimuat ulang yang juga tidak diinginkan dalam beberapa kasus saat menulis ekstensi Chrome. Atau jika Anda memiliki halaman web dengan semacam kalkulator tertanam, di mana pengguna akan memberikan beberapa masukan dan mengklik "Hitung" atau semacamnya.
sumber