Html5表单验证不适用于iphone,android或safari

时间:2011-08-16 14:50:10

标签: javascript html5

我正在尝试为我的网络应用程序实现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

5 个答案:

答案 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验证漏洞:

  • 桌面:IE 9,8,7,6,Chrome,Firefox,Safari和Opera。在Windows 7和Mac上测试。
  • 移动:iPhone,Android,Palm WebOS

如果你曾经使用过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>

我希望这对你也有帮助