Числа в поле ввода автоматически преобразуются в формат автоматического деления на тысячи - JQuery Mobile - PullRequest
0 голосов
/ 22 декабря 2011

Я создаю форму, используя jQuery Mobile, но если я использую входной файл с атрибутом type = "number", введенные числа форматируются с использованием соглашения тысяч

пример: если я введу 1234567 числобудет преобразовано в 1 234 567

<input type="number" name="number" id="number" value="">

Есть ли способ избежать этого?спасибо

1 Ответ

4 голосов
/ 22 декабря 2011

Большинство браузеров этого не делают, но на основе WebKit (например, Chrome).Неправильно, я мог бы добавить, так как я полагаю, что в спецификации HTML5 указано, что такое форматирование не должно выполняться.

Это серьезная проблема для меня, когда речь идет о элементах ввода HTML5;что они недостаточно настраиваемы и почти непригодны для использования в любой производственной среде из-за разного поведения клиента.Но это (я надеюсь) изменится, когда спецификация станет более зрелой, так что разработчик может решать вещи вместо браузера.Другой пример - как required работает в некоторых браузерах, и как определяется сообщение об ошибке.

Решение ваших проблем - не использовать type="number", а вместо этого вернуться к использованию type="text" идобавив атрибут pattern со значением регулярного выражения "[0-9]*", чтобы он отображался как ввод числа по крайней мере на телефонах Apple.Однако я думаю, что не на Android.

Что вы можете сделать, это проверить запросы, что это за клиент, и использовать разные методы в зависимости от этого.Например, type="text" pattern="[0-9]*" для iPhone и настольных компьютеров и type="number" для Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...