У меня есть форма ввода номера кредитной карты, которая будет использоваться как мобильными, так и немобильными браузерами -.
Я хочу намекнуть, что клавиатура должна появиться на мобильном телефоне и разрешить (необязательные )пробелы, поэтому следует принять либо «4111 1234 1234 1234», либо «4111123412341234».
Из того, что я нашел, варианты:
а)-это, кажется, ведет себя так, как я хочу (с текущими мобильными браузерами по крайней мере ), но это семантически неправильно.
б)или аналогичный -iPhone распознает некоторые шаблоны(
[0-9]*
,\d*
)как работа с клавиатурой, но это не работает на Android. Также я не уверен, что есть какие-либо шаблоны, которые iPhone будет отображать на цифровой клавиатуре для разрешения пробелов, хотя у меня нет iPhone под рукой, чтобы проверить прямо сейчас.
c )Попытайтесь определить браузер с помощью Javascript и используйте (a )для мобильных устройств и (b )для не -мобильных устройств. Грязный, и никакой реальной пользы от (a ).
кажется, не -стартер, так как Chrome, по крайней мере, принудительно заставит такой ввод числа , поэтому ввод с пробелами.
Есть ли лучший способ намекнуть мобильным браузерам, что они должны предлагать цифровую клавиатуру, чем использование type="tel"
?
Изменить:
Может быть, свойство -webkit-*
, которое можно было бы применить к обычному полю ввода текста, чтобы намекнуть, что должна отображаться цифровая клавиатура?