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 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
Jun 28 Javascript
js判断屏幕分辨率的代码
Jul 16 Javascript
js window.open弹出新的网页窗口
Jan 16 Javascript
jquery ajax 局部无刷新更新数据的实现案例
Feb 08 Javascript
js数字计算 误差问题的快速解决方法
Feb 28 Javascript
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
基于react组件之间的参数传递(详解)
Sep 05 Javascript
ReactNative实现Toast的示例
Dec 31 Javascript
图文讲解vue的v-if使用方法
Feb 11 Javascript
了解前端理论:rscss和rsjs
May 23 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
Aug 30 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读取IMAP邮件
2006/10/09 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
动态为事件添加js代码示例
2009/02/15 Javascript
JavaScript 学习点滴记录
2009/04/24 Javascript
JS window.opener返回父页面的应用
2009/10/24 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
在Python的Django框架中simple-todo工具的简单使用
2015/05/30 Python
详解Python传入参数的几种方法
2019/05/16 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
使用tensorflow根据输入更改tensor shape
2020/06/23 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
婴儿地球:Baby Earth
2018/12/25 全球购物
新法人代表任命书
2014/06/06 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
乱世佳人观后感
2015/06/08 职场文书
MySQL限制查询和数据排序介绍
2022/03/25 MySQL