2015-01-14 4 views
2

В Firefox 34 я получаю странное поведение на <input type="number">.Тип ввода = номер: Firefox преобразует число с плавающей запятой в целое число, когда есть 3 цифры после точки

При вводе чего-то типа 11.001 (обратите внимание на пункт) он преобразуется в 110001.

Это происходит только в том случае, если после точки 3 цифры.

Есть ли способ предотвратить такое поведение?

Кстати: я заметил, что поведение на французском Windows 7

ответ

6

Ваш браузер использует французский локали и французский использует запятую в качестве десятичного разделителя и период для тысяч.

От Mozilla documentation:

Локализация

Допустимые входы для определенных типов зависит от местности. В некоторых местах 1,000.00 является действительным номером, в то время как в других местах действительный способ ввести этот номер: 1.000,00.

Firefox использует следующие эвристики для определения языкового стандарта для проверки пользовательского ввода (по крайней мере, для типа = «число»):

  • Try язык, заданный в «языки»/'XML: Ланг 'атрибут элемента или любого его родителя;

  • Попробуйте язык, указанный любым Content-Language HTTP заголовок или

  • Если ничего не указано, используйте локаль браузера.

Если вы хотите изменить это поведение: использование

<input lang="en" type="number">