HTML5表单验证功能:支持老旧浏览器
2012-04-22 14:45:21 来源:WEB开发网品类型:动态效果(动态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的用途与表单验证无关.)
当你发生如下情况,可以回帖联系我
- 文件部署到服务器环境后失效。
- 你发现了让表单验证变得更简单的方法。
更多精彩
赞助商链接