Атрибут шага поля ввода номера HTML5 поврежден в Internet Explorer 10 и Internet Explorer 11

Похоже, некоторые из моего сайтаУ пользователей возникают проблемы при попытке вставить значения в поля ввода типа номер с установленным атрибутом шага.

Я использую Django 1.6 для рендеринга форм в HTML.

Числовые поля отображаются в базовое поле модели DecimalField с max_digits = 25 и decimal_places = 5

Это приводит к тому, что следующий HTML-код рендерится для числового поля:


Атрибут шага, который я знаю, еще не поддерживается в FireFox, но есть в Opera, Chrome, Safari и IE10 +.

Все отлично работает во всех браузерах, кроме IE10 и IE11. В приведенном выше примере максимальный диапазон, который можно ввести, составляет от -227 до 227 в IE10 и IE11. Если я пытаюсь ввести меньшее или большее значение (соответственно), чем это, я получаю 'Вы должны ввести действительное значение ошибка и не может отправить форму.

В соответствии сhttp://www.w3schools.com/tags/att_input_step.asp

Атрибут шага определяет допустимые интервалы номеров для элемента.

Пример: if step = "3", юридические номера могут быть -3, 0, 3, 6 и т. д.

Так в моем пользователеНапример, они пытались ввести 20000 как значение, которое не удалось в IE10 и IE11. Если мои расчеты верны, 20000 попадает правильно в интервал 0,00001

Решением для меня может быть удаление атрибута шага из всех моих форм, использующих числовое поле, либо с помощью форм django, либо с помощью javascript, но я думаю, что это будет очень грязное решение, которое идет вразрез с HTML5.

Кто-нибудь еще сталкивался с подобной проблемой, я сделал что-то не так или это ошибка в IE10 и IE11?

Любые мысли, комментарии или ответы приветствуются. Тем временем я буду вынужден предоставить свое обычное решение для затронутых пользователей, предложив им использовать работающий браузер.

Ответы на вопрос(4)

Ваш ответ на вопрос