Bir alanın "gerçek" değerini nasıl alabilirim <input type="number">
?
Bir input
kutum 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 = 4
ve 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
validity
durumunu kontrol edin - bekliyorum typeMismatch
ama kendimi kontrol etmedim.
blah
geçersiz bir sayıdır".
number
istiyorsanız, aradığınız girdi türü bu değildir; normal birtext
giriş kullanın .