Подтвердить что ты не робот

Samsung Galaxy Tablet не позволяет вводить числа с плавающей запятой входы с типом "число"

Наш клиент хочет, чтобы мы отображали числовую клавиатуру для поля ввода, поэтому в основном я создал поле типа:

<input type="number" name="quantity" step=".01" value="0.00" />

Однако, Galaxy Tablet стирает "." и объединяет числа до и после него, также отключает ".". в клавиатуре.

Есть ли другой способ решить эту проблему или отобразить числовую клавиатуру в поле ввода при использовании type = "text"?

Примечание: Я попытался использовать атрибут шаблон (который работает на iPhone). Я тестировал эту проблему на разных Android-устройствах с Android 2.1+. Я не сталкивался с этой ошибкой на других устройствах HTC и Samsung.

4b9b3361

Ответ 1

Да, есть другой способ.

  • Способ 1: не используйте type="number", а используйте type="text"
  • Способ 2: применить способ 1 для телефонов только для Android. Обнаружение User-Agent и т.д.
  • Способ 3: Применить способ 1 для только сломанных реализаций. Смотрите: Какие модели смартфонов Samsung имеют отсутствующий период для ввода типа html5 = "number" ?
  • Способ 4: используйте type="tel"' только для Android или сломанных. (нельзя использовать на iPhone как ни один период времени)
  • Способ 5: используйте type="text", а затем javascript с пользовательским поведением. См.:

Период всегда показывает: http://jsbin.com/heqeduyi/1/

Период показывает один раз 3 цифры: http://jsbin.com/yinaweho/1

Ответ 2

Обходным путем является использование type="tel" вместо type="number". К сожалению, на iOS type="tel" не отображается , char на клавиатуре (по крайней мере, я не нашел его там). Вы можете проверить агент пользователя для устройств iOS, а затем изменить type на "number".

Ответ 3

Вы пытались установить шаг на "any". Как:

<input type="number" name="quantity" step="any" />

Я вынул "значение", потому что думаю, что вы должны, даже если просто для тестирования

Ответ 4

Я делаю это в С#/Xamarin, и то, что работает для меня на стороне кода (я динамически создаю формы), использует следующее:

   EditText edittext1 = new EditText(view.Context);
   edittext1.InputType = Android.Text.InputTypes.NumberFlagDecimal;

Надеюсь, что это поможет кому-то

Ответ 5

Чтобы иметь десятичную точку на цифровой клавиатуре на устройствах Android Samsung, используйте это в вашем EditText:

 android:inputType="numberDecimal"