Bagaimana saya bisa memeriksa apakah pengguna telah memilih sesuatu dari <select>
bidang di HTML5?
Saya mengerti <select>
tidak mendukung required
atribut baru ... apakah saya harus menggunakan JavaScript? Atau ada sesuatu yang saya lewatkan? : /
Bagaimana saya bisa memeriksa apakah pengguna telah memilih sesuatu dari <select>
bidang di HTML5?
Saya mengerti <select>
tidak mendukung required
atribut baru ... apakah saya harus menggunakan JavaScript? Atau ada sesuatu yang saya lewatkan? : /
selectedIndex
.Jawaban:
Wajib : Biarkan nilai pertama kosong - wajib bekerja pada nilai kosong
Prasyarat : mengoreksi html5 DOCTYPE dan bidang input bernama
Sesuai dokumentasi (daftar dan tebal adalah milik saya)
sumber
The
<select>
elemen tidak mendukungrequired
atribut, sesuai spec:Peramban mana yang tidak menghargai ini?
(Tentu saja, Anda harus memvalidasi di server, karena Anda tidak dapat menjamin bahwa pengguna akan mengaktifkan JavaScript.)
sumber
Anda dapat menggunakan
selected
atribut untuk elemen opsi untuk memilih pilihan secara default. Anda dapat menggunakanrequired
atribut untuk elemen pilih untuk memastikan bahwa pengguna memilih sesuatu.Dalam Javascript, Anda dapat memeriksa
selectedIndex
properti untuk mendapatkan indeks dari opsi yang dipilih, atau Anda dapat memeriksavalue
properti untuk mendapatkan nilai dari opsi yang dipilih.Menurut spesifikasi HTML5,
selectedIndex
"mengembalikan indeks item yang dipilih pertama, jika ada, atau −1 jika tidak ada item yang dipilih. Danvalue
" mengembalikan nilai item yang dipilih pertama, jika ada, atau string kosong jika ada tidak ada item yang dipilih. "Jadi jika selectedIndex = -1, maka Anda tahu mereka belum memilih apa pun.sumber
-1
. Maaf, saya tidak mengklarifikasi dalam komentar terlebih dahulu.Ya, ini berfungsi:
Anda harus membiarkan opsi pertama kosong.
sumber
sumber
pertama Anda harus menetapkan nilai kosong pada opsi pertama. yaitu Pilih di sini. Hanya diperlukan yang akan bekerja.
sumber
Jadikan nilai item pertama dari kotak pilihan menjadi kosong.
Jadi ketika setiap Anda memposting FORMULIR Anda mendapatkan nilai kosong dan menggunakan cara ini Anda akan tahu bahwa pengguna belum memilih apa pun dari dropdown.
sumber
Anda perlu mengatur
value
atributoption
ke string kosong:select
akan mengembalikan yangvalue
dipilihoption
ke server ketika pengguna menekansubmit
tombolform
. Kosongvalue
sama dengantext
input kosong -> menaikkanrequired
pesan.sekolah w3
sumber
coba ini, ini akan berhasil, saya telah mencoba ini dan ini berhasil.
sumber
Bekerja dengan baik jika nilai opsi pertama adalah nol. Penjelasan: HTML5 akan membaca nilai nol pada tombol kirim. Jika bukan null (atribut nilai), nilai yang dipilih diasumsikan tidak nol maka validasi akan berfungsi yaitu dengan memeriksa apakah ada data dalam tag opsi. Oleh karena itu tidak akan menghasilkan metode validasi. Namun, saya kira sisi lain menjadi jelas, jika atribut nilai diatur ke nol yaitu (value = ""), HTML5 akan mendeteksi nilai kosong pada pilihan pertama atau lebih tepatnya yang dipilih sehingga memberikan pesan validasi. Terima kasih untuk bertanya. Saya senang bisa membantu. Senang mengetahui jika saya melakukannya.
sumber
Di html5 Anda dapat menggunakan ekspresi penuh:
Saya tidak tahu mengapa ungkapan singkat itu tidak berhasil, tetapi cobalah yang ini. Itu akan menyelesaikan.
sumber
Coba ini
sumber
Anda dapat melakukannya juga secara dinamis dengan JQuery
Setel yang diperlukan
Hapus yang diperlukan
sumber