Цифровая клавиатура для iPhone с десятичным знаком
Я изо всех сил пытаюсь найти ответ для этого. Я узнал, как заставить клавиатуру появляться в веб-приложении, используя строку шаблона [0-9]*, но она показывает цифры без десятичной дроби!
Кто-нибудь есть решение, пожалуйста?:)
Спасибо!
2 ответа
Цифровая клавиатура с десятичным вводом была доступна только для собственных приложений в iOS 4.1 (в частности, UIKeyboardTypeDecimalPad
тип клавиатуры в UITextInputTraits
Протокол). Ранее необходимо было обойти ограничение отсутствующей десятичной точки, используя UIKeyboardTypeNumberPad
в качестве отправной точки.
К сожалению, эта функциональность еще не проникла в MobileSafari (или UIWebView), и единственная документация Apple по этой функции находится здесь, которая, к сожалению, только документирует то, что вы уже обнаружили.
В документации Apple не упоминается то, что вы можете указать <input type="number">
(новое значение атрибута в HTML5), которое запускает пользователя на клавиатуре цифр и знаков препинания, к которой обычно осуществляется нажатие кнопки ".?123" в левом нижнем углу текстовой клавиатуры по умолчанию.
Я бы, наверное, сейчас воспользовался этим подходом и надеюсь, что поддержка UIKeyboardTypeDecimalPad
как-то добавлено в iOS 5.
(Кстати, input
элементы с атрибутом type, установленным в number
должны поддерживать числа с плавающей запятой согласно спецификации HTML5. Я подозреваю, что именно поэтому Apple представляет полную клавиатуру в этом случае - числа с плавающей запятой могут на законных основаниях содержать знаки минус и плюс и E в нижнем или верхнем регистре, ни один из которых не поддерживается с помощью UIKeyboardTypeDecimalPad
)
Проблема с <input type="number">
это только воля, кроме целых чисел. Я нашел это, где он упоминает добавление step="any"
на входной тег. Теперь вы получаете цифровую клавиатуру и можете вводить десятичные числа.
Проверять, выписываться inputmode="decimal"
Атрибут запуска iOS 12.2
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode