我有一个带有电子邮件字段的表单。我希望它能在移动浏览器上使用电子邮件键盘。现在,通常通过更改类型:<input type="email"/>
来完成。但是,当我这样做时,在桌面Firefox和Chrome中,该字段将由浏览器验证。这打破了布局(在Firefox中)并取代了我自己的验证 - 然后在除电子邮件(除了电子邮件)之外的所有表单字段中都可以看到。
是否有另一种方法可以在手机上将键盘切换为电子邮件,还是有办法在桌面浏览器中禁用验证?
答案 0 :(得分:1)
您可以检查用户是否未使用移动设备进行浏览,然后将novalidate
添加到输入字段。
if(!( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) )) {
$('#id').attr('novalidate', 'novalidate');
}
此外,如果你使用这种方法,请记住这一点:
“用户代理嗅探是一种非常低级的检测技术,用户代理字符串是一个不断变化的目标,它们不应该单独受信任。” What is the best way to detect a mobile device in jQuery?