Bagaimana saya bisa mendapatkan nilai "nyata" dari suatu <input type="number">bidang?
Saya memiliki sebuah inputkotak, 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 valuemengembalikan 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
validitynegara - saya harapkan typeMismatchtapi saya belum diperiksa sendiri.
blahadalah nomor yang tidak valid".
numberbukan jenis input yang Anda cari; gunakantextinput normal .