WEB开发网
开发学院网页设计Html HTML5表单验证功能:支持老旧浏览器 阅读

HTML5表单验证功能:支持老旧浏览器

 2012-04-22 14:45:21 来源:WEB开发网   
核心提示:品类型:动态效果(动态JS、jQuery作品) 作品描述:将HTML5的超级简单表单验证方式带入IE和其他老浏览器 制作思路:编写一个插件,让老旧浏览器也可以使用html5语法来进行表达验证,HT

品类型:动态效果(动态JS、jQuery作品) 作品描述:将HTML5的超级简单表单验证方式带入IE和其他老浏览器 制作思路:编写一个插件,让老旧浏览器也可以使用html5语法来进行表达验证,只需在底层拦截submit事件,发现不符验证规则后利用jQuery触发invalid事件。开发者只需简单的绑定invalid事件,即可以完成以往很复杂的表单验证功能。

相信喜欢新鲜事物的前端er已经尝试过了HTML5的表单验证功能,非常强大的说。<input>中加入required就成为必填项了,
在pattern中写一个正则表达式,就能强制所填格式。下面是一个demo

<form>
 
   <input placeholder="必须填3-5位的下划线,数字、字母" required pattern="\w{3,5}">
 
   <input type="submit">
 
</form>
 
<script src="http://code.jquery.com/jquery.js"></script>
 
<script src="form.html5.js"></script>
 
<script>
 
$("input").bind("invalid", function(e){
 
   alert("错误,必须填3-5位的下划线,数字、字母");
 
   return false;
 
});
 
$("html").submit(function(e){
 
   if(e.isPropagationStopped()){
 
     return;
 
   }
 
   alert("表单成功提交");
 
   return false;
 
});
 
</script>

非常简单有木有?我们所需要做的只有两步步
1.将验证规则写成正则表达式放在input标签中的pattern属性里
2.jQuery拦截input的invalid事件
完成这两步,就已经可以在现代浏览器下完成表单验证了。

但是那么如何支持老旧浏览器呢?只需添加一行代码
<script src="form.html5.js"></script>

同时还需要下载这三个文件并确保三个文件在同一目录下。

  • form.html5.js
  • form.html5.htc
  • input.html5.htc
  • select.htc

(select.htc的用途与表单验证无关.)

当你发生如下情况,可以回帖联系我

  • 文件部署到服务器环境后失效。
  • 你发现了让表单验证变得更简单的方法。

Tags:HTML 表单 验证

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接