2012-06-21 4 views
15

Наш клиент хочет, чтобы отобразить цифровую клавиатуру для поля ввода так в основном я создал поле, как:Samsung Galaxy Tablet не позволяет вводить цифры с плавающей запятой для входов с типом «Номер»

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

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

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

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

+0

это случайно планшет установлен в формат европейского номера? - «десятичная точка» и «запятая» обратно используются в европейском цифровом формате – Kshitij

+0

, к сожалению, нет, я тестирую на клавиатуре США, а также клиентские тесты в Австралии. – Korhan

+0

Какая вкладка Galaxy и какая версия Android? – chkdsk

ответ

3

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

1

Вы пытались установить шаг на «любое». Как:

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

Я вынул «ценность», потому что я думаю, вы должны, даже если только для тестирования

+1

попробовал это. но до сих пор нет десятичного ключа. – Arvin

7

Да, есть еще один способ.

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

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

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

-1

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

android:inputType="numberDecimal" 
1

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

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

Надеется, что это помогает кто-то