2011-12-29 63 views
5

使用HTML5,以下标记就足以让浏览器处理输入验证。什么是最简单的方法来确定当前浏览器是否支持`<input type =“email”..(例如)?

这将验证输入匹配的电子邮件地址的格式,以及它实际提供:

<input id="email" name="email" type="email" placeholder="Email address" required/> 

没有必要钩上的事件,既不是输入框,也没有提交按钮, 正好。

我正在寻找一种方法来决定浏览器是否已经支持这个功能,或者我应该自己处理输入验证。

我想知道是否有办法让这个直线前进,或者我应该维护一个包含所有可能的品牌 - 版本组合和支持标志的表格。

+2

包罗万象的指南,了解这本书来检测几乎任何东西:http://diveintohtml5.info/detect.html – deceze 2011-12-29 04:08:23

+0

@deceze这就是我一直在寻找! – 2011-12-29 04:09:54

回答

4

正如@deceze提到的,检测技术在here描述和工具是modernizr

if (!Modernizr.inputtypes.email) { 
    // no native support for <input type="email"> :(
    // maybe build one yourself with Dojo or jQueryUI 
} 
-1

可以从由“Tzury”中提到的Modernizr库检查输入的类型,但这里是名单浏览器及其版本支持新的html5输入元素。

对HTML5表单的浏览器支持正在增长,但有限。看起来,除了Opera以外,许多浏览器供应商还没有在他们的新形式控制中投入大量精力。然而,WebKit浏览器最近增加了对表单的支持,可能是因为引入了iPhone和它的虚拟键盘显示,我们很快就会看到。诸如验证等更高级的功能正在被引入。表7-1总结了当前HTML5 Forms支持的当前状态。

enter image description here

检查浏览器的支持,是新HTML5表单的情况下用处不大,因为他们的目的是为了在旧的浏览器优雅降级。很大程度上,这意味着今天使用新元素是安全的,因为旧的浏览器将回退到任何他们不了解的输入类型的简单文本字段显示。

仅供参考,你可以在亚马逊Apress Pro HTML5 Programming Sep 2010

+0

桌子从哪里来? – 2011-12-29 09:39:33

+0

为什么你想知道?但我会告诉你,我从html书中读到 – Talha 2011-12-29 10:02:13

+0

IE 8.0支持新的html 5输入类型后的更新版本 – Talha 2011-12-29 10:05:29

相关问题