Jak uzyskać „rzeczywistą” wartość <input type="number">pola?
Mam inputpudełko i używam nowszego typu wprowadzania HTML5 number:
<input id="edQuantity" type="number">
Jest to obsługiwane głównie w Chrome 29:

Teraz potrzebuję możliwości odczytania „surowej” wartości wprowadzonej przez użytkownika w polu wprowadzania. Jeśli użytkownik wprowadził numer:

wtedy edQuantity.value = 4i wszystko jest w porządku.
Ale jeśli użytkownik wprowadzi nieprawidłowy tekst, chcę pokolorować pole wejściowe na czerwono:

Niestety, dla type="number"pola wejściowego, jeśli wartość w polu tekstowym nie jest liczbą, to valuezwraca pusty ciąg:
edQuantity.value = "" (String);
(przynajmniej w Chrome 29)
Jak mogę uzyskać „surową” wartość <input type="number">kontrolki?
Próbowałem przejrzeć listę innych właściwości pola wprowadzania w Chrome:

nie widziałem niczego, co przypominałoby rzeczywiste dane wejściowe.
Nie mogłem też znaleźć sposobu, aby stwierdzić, czy pudełko jest „puste” , czy nie. Może mogłem wywnioskować:
value isEmpty Conclusion
============= ============= ================
"4" false valid number
"" true empty box; not a problem
"" false invalid text; color it red
Uwaga : możesz zignorować wszystko po linii poziomej; to tylko wypełniacz, aby uzasadnić pytanie. Ponadto: nie myl przykładu z pytaniem. Ludzie mogą chcieć odpowiedzi na to pytanie z powodów innych niż kolorowanie ramki na czerwono (jeden przykład: konwersja tekstu "four"na "4"symbol łaciński podczas zdarzenia onBlur)
Jak mogę uzyskać „surową” wartość <input type="number">kontrolki?
Czytanie bonusowe
validitystanu - Spodziewam się, typeMismatchale nie sprawdził się.
blahto nieprawidłowa liczba”.
numberto nie jest typem wejściowym, którego szukasz; użyj normalnegotextwejścia.