Тип ввода = число — не работает в IE11 или Edge

Так что я хорошо знаю, что это, возможно, спрашивали ранее, но, просмотрев множество тем по этому вопросу, похоже, нет окончательного ответа.

https://jsfiddle.net/hbruun/qmd0vgr8/

<div class="mt10"><input type="number" required="true" min="6.4" max="9.0" step="0.1" value="6.9" /></div>

Приведенный выше jsfiddle (не мой) является примером того, как input type="number" совершенно бесполезен как в IE11, так и в Edge. Неудивительно, что в Chrome он работает, как и ожидалось, но мне нужно исправить, чтобы заменить это, чтобы пользователь не мог вводить что-либо, кроме числовых символов.


person jjharrison    schedule 04.01.2018    source источник
comment
Создайте раскрывающийся список, в котором единственными вариантами будут числа, которые вы хотите использовать, или используйте регулярное выражение, чтобы убедиться, что это число после ввода.   -  person ecg8    schedule 04.01.2018
comment
совершенно бесполезно - это не техническое описание проблемы. Что не работает? Кроме того, тег <input> не использует и никогда не нуждался в закрывающей косой черте.   -  person Rob    schedule 05.01.2018
comment
@Rob - извините, я имею в виду, что type=number ничего не делает в IE. По сравнению с Chrome, где мой ввод ограничивается числовыми символами.   -  person jjharrison    schedule 05.01.2018


Ответы (2)


Попробуйте установить 0 в качестве минимального значения, и волшебным образом он начнет работать, но только в рамках шага, поэтому, если шаг = 0,1 -> 1,1 будет действительным, 1,12 не будет, когда шаг = 0,01 1,12 будет действительным, 1,001 не будет и так далее. Минимальное значение будет проверено в коде...

person user667540    schedule 18.05.2019

person    schedule
comment
Что это делает? Как оно отвечает на вопрос? Не просто выпалить код. Объяснись! stackoverflow.com/help/how-to-answer - person Rob; 05.01.2018
comment
@jj & Rob - да, мы все знаем, что IE изначально не отображает и не проверяет ввод в числовых полях ввода. Я предлагаю вам вместо этого использовать тип диапазона или, если вы хотите поддерживать IE9/10, вместо этого используйте плагин форм jquery. - person Rob Parsons; 06.01.2018
comment
type=range не работает только для ввода числа. Даже это создает полосу на экране, которая утомлена. - person Abhishek; 28.06.2021