1

我有一个带有电子邮件字段的表格。我希望它在移动浏览器上使用电子邮件键盘。现在,这通常是通过更改 type: 来完成的<input type="email"/>。但是,当我这样做时,在桌面 Firefox 和 Chrome 中,该字段将由浏览器验证。这打破了布局(在 Firefox 中)并取代了我自己的验证 - 然后在除电子邮件之外的所有表单字段(这是在 Chrome 中)之外的所有表单字段中都可见。

是否有另一种方法可以在移动设备上将键盘切换为电子邮件,或者有没有办法在桌面浏览器中禁用验证?

4

1 回答 1

3

您可以检查用户是否没有使用移动设备浏览,然后添加novalidate到输入字段。

if(!( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) )) { 
    $('#id').attr('novalidate', 'novalidate');
}

此外,如果您使用此方法,请记住这一点:

“用户代理嗅探是一种非常简单的检测技术,用户代理字符串是一个不断移动的目标,不应单独信任它们。” 在 jQuery 中检测移动设备的最佳方法是什么?

于 2013-10-02T09:38:00.390 回答