Как удалить заполнитель «0» из <input type = "number"> в Mobile Safari? - PullRequest
2 голосов
/ 13 июля 2011

У меня есть поле ввода для пользователей, чтобы ввести денежную сумму:

<input type="number" value="{{ order.amount }}" />

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

К сожалению, если атрибут value не является числовым (включая пустую строку или пробел), поле отображается со значением по умолчанию "0":

Это отстой, потому что пользователь должен нажать перед вводом значения.

Есть ли способ это исправить?

Обновление: Я идиот. Некоторый JavaScript проверял и переформатировал поле. Nevermind.

1 Ответ

1 голос
/ 13 июля 2011

Я бы посмотрел код, который вы используете для установки атрибута value этого поля (value="{{ order.amount }}"). Причина, по которой я это говорю, заключается в том, что в Mobile Safari «ванильное» числовое поле пусто, то есть по умолчанию нет 0.

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

Для чего стоит, это разметка, которую я использую (которая отображает пустое числовое поле в эмуляторах iOS и на iPhone 3GS):

<input type="number" value="" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...