jquery中dom操作和事件的实例学习-表单验证


Posted in Javascript onNovember 30, 2011

很显然,这样做能提升更好的用户体验。
html代码:

<form method="post" action=""> 
<div class="int"> 
<label for="username">用户名:</label> 
<input type="text" id="username" class="required"/> 
</div></form>

jquery代码:
<script type="text/javascript"> 
$(function(){ 
$('form :input').blur(function(){ 
var $parent=$(this).parent(); 
$parent.find(".formtips").remove(); 
if($(this).is('#username')) { 
if(this.value==""||this.value.length<6){ 
var msg="<span class='formtips error'>请输入至少6位用户名</span>"; 
$(msg).appendTo($parent); 
}else{ 
var msg="<span class='formtips success'>输入正确</span>"; 
$(msg).appendTo($parent); 
} 
} 
}).keyup(function(){ 
$(this).triggerHandler("blur"); 
}).focus(function(){ 
$(this).triggerHandler("blur"); 
}) 
}) 
</script>

好,现在来详细分析下里面的jquery语句。
先看dom操作的语句
$('form:input') 这个是用来查找form元素下所以的<input>,<textarea>,<select>,<button>元素。
类似的还有$(':text'),$(':checkbox')等。反正只要明白只有在表单内,通过表单选择器都能得到相应的元素。
parent()是找到匹配元素的父节点。find()是来搜索与表达式匹配的元素。remove()是用来删除元素。
is()是用一个表达式来检查当前选择器的元素集合,如果存在至少一个匹配元素,则返回 true。
appendTo()是把一个元素添加到令一个元素中
triggerHandler()这一个特点方法会触发元素上的特定事件。
再看事件的语句。
keyup()是按键向上时触发。
理解每个方法后应该不难理解上面的代码
可能对于这句代码有疑问。 $parent.find(".formtips").remove();
这句是为了保证后面提示的元素只有一个。如果没有这句,就会一直添加提示的元素。
Javascript 相关文章推荐
IE 缓存策略的BUG的解决方法
Jul 21 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
Jul 31 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
May 06 Javascript
jquery隐藏标签和显示标签的实例
Nov 11 Javascript
angularjs指令中的compile与link函数详解
Dec 06 Javascript
js图片轮播效果实现代码
Apr 18 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
Jun 29 Javascript
jQuery zTree树插件简单使用教程
Jan 10 Javascript
从vue源码看props的用法
Jan 09 Javascript
微信小程序实现form表单本地储存数据
Jun 27 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
Nov 18 Javascript
微信小程序反编译的实现
Dec 10 Javascript
javascript开发随笔二 动态加载js和文件
Nov 25 #Javascript
javascript开发随笔一 preventDefault的必要
Nov 25 #Javascript
基于jquery的拖动布局插件
Nov 25 #Javascript
jQuery Jcrop插件实现图片选取功能
Nov 23 #Javascript
JQUERY1.6 使用方法四 检测浏览器
Nov 23 #Javascript
JQuery1.6 使用方法三
Nov 23 #Javascript
jQuery1.6 使用方法二
Nov 23 #Javascript
You might like
一棵php的类树(支持无限分类)
2006/10/09 PHP
PHP 处理图片的类实现代码
2009/10/23 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
学习JavaScript设计模式之观察者模式
2020/04/22 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
Python发送Email方法实例
2014/08/21 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
在Python中使用AOP实现Redis缓存示例
2017/07/11 Python
python分析作业提交情况
2017/11/22 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
Java程序员常见面试题
2015/07/16 面试题
文秘专业大学生求职信
2013/11/10 职场文书
爱国演讲稿500字
2014/05/04 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
白银帝国观后感
2015/06/17 职场文书
古诗之感恩老师
2019/10/24 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫
vue项目proxyTable配置和部署服务器
2022/04/14 Vue.js