Как я могу получить «реальное» значение <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">управления?
Бонусное чтение
validityсостоянии - я бы ожидать , typeMismatchно я не проверял сам.
blahневерный номер».
numberэто не тот тип ввода, который вы ищете; используйте обычныйtextввод.