首页 > 代码库 > JQuery中内容操作函数、validation表单校验
JQuery中内容操作函数、validation表单校验
JQuery:
内容体拼接(可以直接拼接元素节点和内容节点)
JQuery实现:
方案1:A.append(B); == B.appendTo(A);A的后面拼接B
方案2: A.prepend(B); == B.prependTo(A);A文本的最前面插入B
text()与html()比较:
1.相同点:
都可以设置或获取内容
2.不同点:
获取时,html()获取的是所有内容体:标签+文本
text()获取的只是文本
设置时,如果设置的内容有html()标签
html()设置的内容可以被浏览器当做标签解析
text()设置的所有内容都被当成了普通文本
3.二者用于场景
JS一般使用html()函数
类似于text()的实现一般用于xml解析
val():对表单中的value值进行操作
事件简化:hover()
d1.hover(
function(){t1.val("第一个是移入事件")},
function(){t1.val("第二个是移出事件")}
);
validation是对表单校验的封装,是一个第三方的JQuery的插件,使用的时候先导入JQuery包(JQuery是一个插座)
表单校验中涉及两个要素:规则和提示信息
&(function(){
//定位表单,调用方法validate()进行校验
$("#id").validate({
//规则,注意大括号和分号的使用
rules:{
//通过name属性值定位标签节点
username:{
//属性:属性值, 注意逗号,用逗号分隔,结尾处不用
required:true, //必填
rangelength:[6,10] //字符长度
}
},
//提示信息
messages:{
username:{
required:"这是必填项",
rangelength:"长度必须在6~10个字符之间"
}
}
});
});
其它校验器:
email:{
email:true //必须符合邮箱格式
},
birthday:{
date:true, //必须符合日期格式
number:true, //必须是数字
min:1000, //最小值
range:[6,16], //必须是在这之间的数字
},
pwd:{
required:true
},
repwd:{
required:true,
equalTo:"input[name=‘pwd‘]" //值必须和名字为pwd的input标签的value值相等
}
自定义校验类型:
1.编写校验类型
$.validator.addMethod(参数1,参数2,参数3);
参数1:该校验类型的名字
参数2:该校验类型的具体实现
参数3:错误提示
2.参数2详解,参数2返回一个boolean的值,返回false执行错误提示(参数3)
function(参数1,参数2,参数3)
参数1 ----- 客户录入的值
参数2 ----- 输入项对应的对象
参数3 ----- 使用校验类型时,校验类型的取值
$.validator.addMethod("my",function(v,e,p){
//根据客户录入的数据进行校验,判断是不是合法的,如果合法,返回 true,否则返回 false
//判断 v 中是不是有敏感词(pujing)
if(v.indexOf("pujing") != -1){//有pujing
return false;
}
return true;
},"不能出现政治敏感词");
$(function(){
$("#f1").validate({
rules:{
username:{
my:true
}
}
});
});
validation插件设置错误信息时的原理:(查看元素的方法:在网页中查看)
内置的错误提示,格式:
<label id="" class="error" for="对应输入项的name值">提示信息</lable>
看见内置的格式之后通过格式定位标签元素改变其属性等,在css代码中修饰元素,在js中动态处理元素
通过标签名得到元素: lable (标签名选择器)
通过class名得到元素: .error (class选择器)
拓展:
怎么让错误提示换行
错误提示是默认生成的,紧跟在相应的input后面
在相应的位置,自己添加标签 <label class="error" for="name值"></lable>自己添加之后系统不会自己添加
内置了一些错误提示,使用时,不需要编写messages部分即可得到默认的
国际化:
相同软件显示不同的语言,内置语言包实现,dist文件中
<script type="text/javascript" src="http://www.mamicode.com/js/messages_es_PE.js" ></script>
可以自己在html中提供校验:
1.在script中得到表单并提供校验方法,没有具体实现,自己在html中通过通过class提供具体的校验器,要改提示信息同样通过选择器定位lable标签
<input type="text" name="pwd" class="required number" />
2.直接在要校验的标准中内置validation的属性和属性值:
<input type="text" name="username" required="true" minlength="2" maxlength="8" />
3.因为内置属性不是html自己的属性,所以提供自定义标签标记
<input type="text" name="username" data-rule-required="true" data-rule-minlength="2" data-rule-maxlength="8" />
JQuery中内容操作函数、validation表单校验