微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

妙用Bootstrap的 popover插件实现校验表单提示功能

最近的项目,用Bootstrap比较多。浏览Bootstrap文档,发现 popover 插件特别适合做表单校验出错的提示

因为使的非常频繁,最近把它封住下,做成 jQuery的插件。 通过 本插件,在 html标签中 定义好 data-vaild=”校验正则” data-errmsg=”错误信息即可”。为什么 要把 校验规则 写到 html 标签中呢?因为 我还用它做了 后台 的校验规则(后台没用Node,现在用的ASP,忙完专门再发文写下原理)。

rush:js;">

最终实现的效果如下:

插件代码如下:

rush:js;"> "use strict"; /* jQuery+Bootstrap 校验表单 by Miaoqiyuan.cn 原理:http://www.miaoqiyuan.cn/p/jquery-bootstrap-vaild 演示:http://www.miaoqiyuan.cn/products/vaild/index.html 源码:http://www.miaoqiyuan.cn/products/vaild/jQuery.Vaild.js */ (function(jQuery){ $.extend({ Vaild : function(_this){ if( !!$(_this).data("vaild") ){ var pattern = new RegExp($(_this).data("vaild")); if( pattern.test( $(_this).val() ) ){ $(_this).parent().removeClass("has-error").addClass("has-success"); $(_this).popover("destroy"); }else{ $(_this).parent().addClass("has-error").removeClass("has-success"); $(_this).data("toogle","top").data("placement","top").data("container","body").data("content",$(_this).data("errmsg")).popover({"trigger":"manual"}).popover("show"); return false; } }else{ $(_this).parent().addClass("has-success"); } return true; } }); $.fn.extend({ Vaild : function(){ $(this).each(function(index,_this){ $(_this).submit(function(){ var checkResult = true; for(var i = 0 ; i < _this.length; i++ ){ checkResult = $.Vaild(_this[i]) && checkResult; } return checkResult; }); for(var i = 0 ; i < _this.length; i++ ){ $(_this[i]).blur(function(){ $.Vaild(this); }); } }); } }); })(jQuery);

调用的时候非常简单,直接使用以下代码

rush:js;">

当表单失去焦点时,如果不合法,会直接提示错误。点击提交时,如果有表单项目不合法,会阻止表单继续提交。

popoover认的背景是 白色的,不能起到 警示作用,而且 padding 设置过大,太占用空间了。 最后调整下CSS,就实现了 截图的效果

.arrow:after{border-top-color:#C00;} /*重构 bootstrap 错误提示 */ .has-error input,.has-error textarea,.has-error select{background-color:#F2DEDE;} .has-success input,.has-success textarea,.has-success select{background-color:#DFF0D8}

以上所述是小编给大家介绍的Bootstrap的 popover插件实现校验表单提示功能。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐