2013-10-02 32 views
0

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

是否有另一种方法来切换键盘在手机上的电子邮件,或有办法禁用桌面浏览器验证?

回答

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?

+1

谢谢!实际上,只需在表单标签中添加'novalidate =“novalidate”'就是我需要的。 –