Как я могу получить "реальное" значение поля <input type="number">
?
У меня есть поле input
, и я использую новый тип ввода HTML5 number
:
<input id="edQuantity" type="number">
В основном это поддерживается в Chrome 29:
Теперь мне нужна возможность читать "сырое" значение, введенное пользователем в поле ввода. Если пользователь ввел номер:
затем edQuantity.value = 4
, и все хорошо.
Но если пользователь вводит неверный текст, я хочу покрасить поле ввода красного цвета:
К сожалению, для окна ввода type="number"
, если значение в текстовом поле не является числом, тогда value
возвращает пустую строку:
edQuantity.value = "" (String);
(по крайней мере, в Chrome 29)
Как я могу получить "необработанное" значение элемента управления <input type="number">
?
Я попытался просмотреть список Chrome других свойств поля ввода:
я не видел ничего похожего на фактический ввод.
Не мог бы я найти способ узнать, пусто ли ящик, или нет. Возможно, я мог бы предположить:
value isEmpty Conclusion
============= ============= ================
"4" false valid number
"" true empty box; not a problem
"" false invalid text; color it red
Примечание. Вы можете игнорировать все после горизонтального правила; это просто наполнитель, чтобы оправдать вопрос. Также: не путайте пример с вопросом. Людям может потребоваться ответ на этот вопрос по причинам, отличным от окрашивания красной коробки (один пример: преобразование текста "four"
в латинский "4"
символ во время события onBlur)
Как я могу получить "необработанное" значение элемента управления <input type="number">
?