我正在尝试为我的网络应用程序实现html5表单验证,但它无法使用 safari 5.0.1,iphone3或android2。这些浏览器是否支持表单输入属性,模式或与验证相关的任何内容,或者我犯了一些错误?
它正在使用mozilla,chrome和opera。如果我使用html5表单验证,那么我再次需要编写代码作为后备。使用这个或更老的方式作为jquery和普通的javascript是一个好主意?如果有任何想法请告诉我。
请检查此链接(我写了一些代码)并在iphone,android或safari中尝试:
http://24ways.org/examples/have-a-field-day-with-html5-forms/24ways-form.html
答案 0 :(得分:16)
如果您正在使用jQuery,可以查看the h5Validate plugin。这为IE6增加了对表单验证的跨浏览器支持。根据{{3}}:
在13种不同的浏览器上定期测试,IE6 - IE9,FireFox, Chrome,iPhone和Android。
根据1,000个用户调查实施最佳实践,其中包括几个 可用性研究,以及数百万用户的生活行为 生产环境。
支持的平台:
桌面:IE 9,8,7,6,Chrome,Firefox,Safari和Opera。经过测试 Windows 7和Mac。
手机:iPhone,Android,Palm WebOS
答案 1 :(得分:5)
Firefox和Opera都支持HTML 5,特别是表单验证......
我花了两天时间编写一些新代码才意识到IE和Safari还没有实现HTML 5验证......
我的选择很明确,要么我使用javascript重新编码(因为动态创建表单很困难),要么告诉大家使用Firefox或Opera,否则验证没有实现......
我的选择......保留我当前的代码并等待其他人赶上......
Firefox和IE10支持其中一些。
Opera和Chrome支持所有内容。
Safari也支持所有这些,但默认情况下禁用表单验证。
更新...刚发现一篇帖子暗示Safari不支持表单验证,难怪我无论如何都无法启用它?
答案 2 :(得分:2)
为了尽可能跨浏览器友好,您应始终编写代码,期望客户端平台不支持更新的东西,如HTML5验证。因此,虽然利用新浏览器的功能非常棒,并且可以让您的用户获得更好的体验,但仍然需要记住,并非每个人都拥有相同的功能。
话虽如此,您在浏览器中使用Javascript或HTML5进行的任何验证只是为用户带来便利,并且可以节省回拨到服务器的费用。您应该 始终 在服务器上实现验证,因为它很容易绕过客户端验证。我首选的开发方式是首先完全在服务器端进行验证,然后一旦确定,添加基于javascript,然后基于HTML5的验证,使用“渐进式开发”方法progressive enhancement
答案 3 :(得分:0)
我遇到了与我正在构建的求职申请相同的问题。 h5Validate插件解决了这个问题。它插入了许多浏览器和设备的HTML5验证漏洞:
如果你曾经使用过jQuery验证插件,它就非常相似。可以将其视为HTML5表单的扩展。
答案 4 :(得分:0)
为什么不试试webshim?
我有同样的问题,现在一切都很酷!
您所要做的就是下载库,然后将js-webshim
文件夹放入项目中。
包含此代码
<script src="js-webshim/minified/polyfiller.js"></script>
<script>
webshim.activeLang('en');
webshims.polyfill('forms');
webshims.cfg.no$Switch = true;
</script>
我希望这对你也有帮助