从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件


Posted in Javascript onFebruary 23, 2011

一.摘要

本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍.

本文是介绍两个最常用的jQuery插件. 分别用于表单验证和自动完成提示(类似google suggest).

二.前言

研究别人的作品真是一件花时间而且痛苦的过程. 当然也和本人英文不好有关. 总觉得控件作者写了很多文档但是都不够系统, 需要深入研究很多的实例后才能了解作者的思路.所以学习和研究一个插件需要很高成本, 如果发现了Bug并修复需要的成本也是未知数(本次我花了较少的时间解决了自动完成提示插件的一个中文bug, 但是如果复杂的bug就不会这么简单了.).

对于简单应用我首先推荐上文中的jQuery UI. 但是jQuery UI解决的问题有限. 使用jQuery插件是我们最后的一个好办法---还算是好办法, 起码比自己开发要好吧?

很多jQuery的插件编码异常优美, 看一看艺龙首页现在的城市输入框控件, 除了需要为输入框手工添加很多很多属性(onkeyup, onkeydown等等), 而且还不够通用, 占用服务器资源和网络资源.但是当初也是花费了很久的时间完成的作品.

站在巨人的肩膀上, 让我感觉写脚本和写设计C#程序一样, 都有高度和深度可以挖掘. 除了使用作者开发好的功能, 还可以学习如何开发和封装javascript控件. 看过优秀的jQuery插件作者的代码和设计思想后, 常常自叹设计水平差距居然如此之大, 增加自认为脚本高手, 比较过后就是C#程序员和架构师之间的差距.

希望大家通过本章节介绍的两个插件, 除了学会如何使用,  还能够略微领悟到如何封装和设计javascript控件.

 

三.表单验证插件 validate

在提交表单前常要对用户输入进行校验.ASP.NET的验证控件就是用于此目的, 可以同时进行客户端和服务器端验证. 但是验证控件并没有被所有项目采用. 而且在MVC项目中经常使用自己的客户端验证框架.

在比较了若干表单验证插件后, 决定采用validate插件. 因为其使用简单并且灵活.

插件首页:

Javascript 相关文章推荐
一个js封装的不错的选项卡效果代码
Feb 15 Javascript
JavaScript 乱码问题
Aug 06 Javascript
深入理解jQuery中live与bind方法的区别
Dec 18 Javascript
JavaScript获取table中某一列的值的方法
May 06 Javascript
浅谈javascript的Touch事件
Sep 27 Javascript
jquery实现树形菜单完整代码
Dec 29 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
Jun 14 Javascript
全面了解javascript三元运算符
Jun 27 Javascript
AngularJS改变元素显示状态
Apr 20 Javascript
vue组件编写之todolist组件实例详解
Jan 22 Javascript
JS立即执行函数功能与用法分析
Jan 15 Javascript
swiperjs实现导航与tab页的联动
Dec 13 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
Feb 23 #Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
Feb 23 #Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
Feb 23 #Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
Feb 23 #Javascript
从零开始学习jQuery (三) 管理jQuery包装集
Feb 23 #Javascript
jQuery的学习步骤
Feb 23 #Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
Feb 23 #Javascript
You might like
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
php事务处理实例详解
2014/07/11 PHP
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
DNA基因检测和分析:23andMe
2019/05/01 全球购物
机械工程师的岗位职责
2013/11/17 职场文书
肯尼迪就职演说稿
2013/12/31 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
土木工程求职信
2014/05/29 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
单位考核鉴定意见
2015/06/05 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP