Bir alanın "gerçek" değerini nasıl alabilirim <input type="number">?
Bir inputkutum var ve daha yeni HTML5 girdi türü kullanıyorum number:
<input id="edQuantity" type="number">
Bu, çoğunlukla Chrome 29'da desteklenir:

Şimdi ihtiyacım olan şey , kullanıcının giriş kutusuna girdiği "ham" değeri okuma yeteneğidir . Kullanıcı bir sayı girdiyse:

o zaman edQuantity.value = 4ve her şey yolunda.
Ancak kullanıcı geçersiz metin girerse, giriş kutusunu kırmızıya boyamak istiyorum:

Ne yazık ki, bir type="number"giriş kutusu için, metin kutusundaki değer bir sayı değilse value, boş bir dize döndürür:
edQuantity.value = "" (String);
(en azından Chrome 29'da)
Bir kontrolün "ham" değerini nasıl alabilirim <input type="number">?
Chrome'un giriş kutusunun diğer özelliklerinin listesine bakmayı denedim:

gerçek girdiye benzeyen hiçbir şey görmedim.
Kutunun "boş" olup olmadığını anlamanın bir yolunu da bulamadım. Belki şu sonuca varabilirdim:
value isEmpty Conclusion
============= ============= ================
"4" false valid number
"" true empty box; not a problem
"" false invalid text; color it red
Not : Yatay kuraldan sonraki her şeyi göz ardı edebilirsiniz; sadece soruyu haklı çıkarmak için doldurucu. Ayrıca: örneği soruyla karıştırmayın. İnsanlar bu sorunun cevabını kutuyu kırmızıya boyamaktan başka nedenlerle isteyebilirler (Bir örnek: onBlur olayı sırasında metni "four"latin "4"sembolüne dönüştürmek )
Bir kontrolün "ham" değerini nasıl alabilirim <input type="number">?
Bonus Okuma
validitydurumunu kontrol edin - bekliyorum typeMismatchama kendimi kontrol etmedim.
blahgeçersiz bir sayıdır".
numberistiyorsanız, aradığınız girdi türü bu değildir; normal birtextgiriş kullanın .