扩展Jquery自定义的一个错误警告控件ErrorProvider
2011-11-03 18:02
435 查看
HTML:
SCRIPT:
CSS:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>错误警告组件</title> <link href="Styles/JExtension.css" rel="stylesheet" type="text/css" /> <script src="Scripts/jquery-1.6.min.js" type="text/javascript"></script> <script src="JExtensions/JErrorProvider.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("#error").blur(function () { if ($("#error").val() == "") { $("#error").errorProvider({ msg: '不可空白', type: 'error', distance: 0 }); } else { $("#error").errorProvider({ msg: '', type: 'error', distance: 0 }); } }); $("#warn").blur(function () { if ($("#warn").val() == "") { $("#warn").errorProvider({ msg: '不可空白', type: 'warn', distance: 0 }); } else { $("#warn").errorProvider({ msg: '', type: 'warn', distance: 0 }); } }); }); </script> </head> <body> <input id="error" type="text" /><br /> <input id="warn" type="text" /> </body> </html>
SCRIPT:
$.fn.extend({ errorProvider: function(cfg) { if (!cfg.hasOwnProperty("msg")) { throw new Error("msg未设置"); } if (!cfg.hasOwnProperty("type")) { cfg.type = "warn"; } if (!cfg.hasOwnProperty("distance")) { cfg.distance = 0; } var siblings = this.next("span[esist='true']"); if(cfg.msg!='') { if(siblings.length==0) { var sign = $('<span>').attr("title", cfg.msg).attr("esist","true").html(" "); if (cfg.type == "error") { sign.attr("class", "error").css("left", cfg.distance); } else { sign.attr("class", "warn").css("left", cfg.distance); } sign.insertAfter(this); } else { $(siblings).show(); } } else { if(siblings.length>0) { $(siblings).hide(); } } } });
CSS:
.error { background-image: url("./images/error.png"); background-repeat: no-repeat; border-width: 0; position: relative; width: 24px; height: 24px; background-position: center; } .warn { background-image: url("./images/warning.png"); background-repeat: no-repeat; border-width: 0; position: relative; width: 24px; height: 24px; background-position: center; }
![](http://pic002.cnblogs.com/images/2011/62472/2011110318004383.png)
相关文章推荐
- C# 001 --- 正确的删除一个控件的事件函数 --- 解决错误: “A”不包含“B”的定义,并且找不到可接受类型为“A”的第一个参数的扩展方法“B”(是否缺少 using 指令或程序集引用?)
- 自定义view学习-手把手教你制作一个可扩展日历控件
- 使用验证控件出现错误:要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。
- Jquery自定义扩展方法(二)--HTML日历控件
- 一个为扩展过的自定义DataGridiew控件提供多行表头重绘所需的TreeNode和Columns代码,以满足列自动增加的功能。大家看看帮忙优化下
- 扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView
- Asp.net Web Crop Image Control asp.net控件和jquery 自定义的一个截图控件
- jquery一个控件绑定多个事件
- Android自定义一个播放器控件
- [置顶] DrawingView android上的一个自定义涂鸦控件
- jquery创建一个新的节点对象(自定义结构/内容)的好方法
- 自定义服务器控件(扩展现有 Web 控件)
- jQuery同时处理一个控件的click和dblclick事件
- jquery validate自定义错误消息的显示方式
- 一个简单的分页控件,用来自定义分页用的
- jQuery中实现自定义方法的扩展
- 一个不错的Jquery日期文本框选择控件
- Flex中如何在Tree控件中指定一个自定义的label函数使其返回的标签名字为叶项目的名称的例子
- 今天写的一个自动校验表单数据的js小控件[可扩展]
- 使用jQuery和CSS自定义HTML5 Video 控件