Номер типа ввода HTML5 против тел

Я работаю над обновлением некоторых входных данных формы до HTML5. Меня не столько интересует проверка данных, сколько цифровая клавиатура на мобильных устройствах. Тип ввода «тел», кажется, делает то, что я хочу, я получаю цифровую клавиатуру на iPad/мобильном телефоне. Тип ввода «число» также даст мне цифровую клавиатуру, но также включает в себя поле счетчика, которое мне не нужно.

Я хочу знать, безопасно ли использовать type="tel" для ввода кредитной карты? Или я должен использовать type="number" и попытаться как-то отключить счетчик. Я читал, что отключение счетчика может привести к сбою Chrome, что не является компромиссом, на который я готов пойти.

Кроме того, в настоящее время мы используем один и тот же сайт для мобильных и обычных пользователей.


person Tom    schedule 21.11.2011    source источник
comment
Я согласен, семантически неправильно использовать tel, но, к сожалению, это самый полезный вариант. Что-то вроде заложника судьбы, как вы говорите. Недавно я задал аналогичный вопрос: stackoverflow.com/questions/11219242/, прежде чем я нашел ваш   -  person John Carter    schedule 19.07.2012


Ответы (1)


Я просмотрел это и попробовал это на моем Xoom со встроенным браузером и FF mobile (со строкой UA для настольных компьютеров), и ввод tel, похоже, отлично подходит для этого.

экранный

person Eonasdan    schedule 21.11.2011
comment
Я предполагаю, что я боюсь использовать «тел» для номера кредитной карты и не отправлять форму, потому что браузер не считает, что это действительный номер телефона (что, очевидно, не так) - person Tom; 23.11.2011
comment
браузер не пытался выполнить проверку номера ни в браузере, ни в настольных браузерах - person Eonasdan; 23.11.2011
comment
@Eonasdan этого не произошло во время тестирования. Мы никогда не узнаем, что инженеры Google/Mozilla/Apple придумают в будущем. - person yas4891; 15.03.2014
comment
Спецификация HTML5 говорит, что тип tel не будет проверяться или очищаться, за исключением удаления разрывов строк: w3.org/TR/html5/forms.html#telephone-state-(type=tel), а платежный процессор Stripe использует его для номеров карт. Это семантически грязно, но это не похоже на то, что оно на самом деле плохо себя ведет. - person twotwotwo; 22.03.2014
comment
Тьфу, но пользовательские агенты могут изменять интервалы и, с осторожностью, пунктуацию значений, которые пользователь вводит в соответствии с той же ссылкой. Не так здорово. - person twotwotwo; 22.03.2014
comment
Международные телефонные номера имеют разную длину и формат, поэтому при реализации type=tel по-прежнему не будет путаться с длиной поля. Я думаю, что type=tel - лучшее решение даже через 2 года после OP. То же самое относится к маршрутному номеру банка, номеру счета и номерам социального страхования. Я разрабатываю 8-страничное приложение для аренды, которое должно быть удобным для мобильных устройств :/ - person MaKR; 16.05.2014
comment
‹input type=number pattern=[0-9]* /› bradfrostweb.com/blog/mobile/, но поддержка Android выглядит схематично, придется протестировать.... - person MaKR; 16.05.2014