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

2012-04-22 10:17:29  来源:网页教学网 

钱柜娱乐Webjx文章简介:HTML5的超级简单表单验证方式带入IE和其他老浏览器.

品类型:动态效果(动态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的用途与表单验证无关.)

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

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