У меня есть форма с полем электронной почты. Я бы хотел использовать клавиатуру электронной почты в мобильных браузерах. Теперь это обычно делается путем изменения типа: <input type="email"/>
. Однако, когда я это делаю, в настольных Firefox и Chrome поле будет проверено браузером. Это нарушает макет (в Firefox) и заменяет мою собственную проверку, которая затем отображается во всех полях формы, кроме электронной почты (это в Chrome).
Есть ли другой способ переключить клавиатуру на электронную почту на мобильном устройстве или есть способ отключить проверку в настольных браузерах?
Вы можете проверить, не работает ли пользователь на мобильном устройстве, а затем добавить novalidate
в поле ввода.
if(!( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) )) {
$('#id').attr('novalidate', 'novalidate');
}
Также, если вы используете этот метод, держите это в своем уме:
"Обнюхивание агента пользователя - очень тонкая технология обнаружения, строки пользовательского агента - постоянная движущаяся цель, им не следует доверять в одиночку". Каков наилучший способ обнаружения мобильного устройства в jQuery?
novalidate="novalidate"
в тег формы.