Bagaimana saya bisa mendapatkan nilai "nyata" dari suatu <input type="number">
bidang?
Saya memiliki sebuah input
kotak, dan saya menggunakan jenis input HTML5 yang lebih baru number
:
<input id="edQuantity" type="number">
Ini sebagian besar didukung di Chrome 29:
Yang saya perlukan sekarang adalah kemampuan untuk membaca nilai "mentah" yang telah dimasukkan pengguna di kotak masukan. Jika pengguna telah memasukkan nomor:
kemudian edQuantity.value = 4
, dan semuanya baik-baik saja.
Tetapi jika pengguna memasukkan teks yang tidak valid, saya ingin mewarnai kotak input dengan warna merah:
Sayangnya, untuk type="number"
kotak masukan, jika nilai di kotak teks bukan angka maka value
mengembalikan string kosong:
edQuantity.value = "" (String);
(setidaknya di Chrome 29)
Bagaimana saya bisa mendapatkan nilai "mentah" dari sebuah <input type="number">
kontrol?
saya mencoba melihat-lihat daftar properti Chrome lainnya dari kotak input:
saya tidak melihat apa pun yang menyerupai masukan sebenarnya.
Saya juga tidak dapat menemukan cara untuk mengetahui apakah kotak itu "kosong" , atau tidak. Mungkin saya bisa menyimpulkan:
value isEmpty Conclusion
============= ============= ================
"4" false valid number
"" true empty box; not a problem
"" false invalid text; color it red
Catatan : Anda dapat mengabaikan semuanya setelah aturan horizontal; itu hanya pengisi untuk membenarkan pertanyaan itu. Juga: jangan bingung antara contoh dengan pertanyaan. Orang mungkin ingin jawaban untuk pertanyaan ini untuk alasan lainnya selain mewarnai kotak merah (Salah satu contoh: mengubah teks "four"
ke dalam latin "4"
simbol selama acara onBlur)
Bagaimana saya bisa mendapatkan nilai "mentah" dari sebuah <input type="number">
kontrol?
Bonus Membaca
validity
negara - saya harapkan typeMismatch
tapi saya belum diperiksa sendiri.
blah
adalah nomor yang tidak valid".
number
bukan jenis input yang Anda cari; gunakantext
input normal .