资源描述
Jquery客户端脚本使用说明书.docx
《Jquery客户端脚本使用说明书.docx》由会员分享,可在线阅读,更多相关《Jquery客户端脚本使用说明书.docx(28页珍藏版)》请在冰豆网上搜索。
Jquery客户端脚本使用说明书
JQuery客户端脚本框架使用说明书
制作人
制作时间
修改人
修改时间
修改内容
版本
于浩
2011-8-26
V1.0
一简介
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。
当然jQuery本身包含很多东西,例如说对事件的处理、对Ajax的处理、以及对UI的处理等很多很多的内容;同时利用开发的插件也包含很多类别,例如导航类、分页类、提示框类、编辑器类、表格类、验证类、图表类、Form相关类、上传类、事件日期类、虚拟键盘类等等。
此处所封装的内容十分有限,甚至有些内容只是介绍了相关的用法。
如想了解JQuery更多的知识,请参考相关资料。
JQuery框架主要包含三部分内容:
1:
JQueryAjax的使用。
2:
JQUery校验框架的使用。
3:
JQuery文件上传。
版本:
《JQuery1.5.1》。
二具体内容分析
2.1ajax的使用
由于对JQueryAjax部分未作任何封装,所以在使用jQuery时只需要引入jquery-1.5.1.min.js即可。
这里只对ajax的使用做简单的介绍。
关于ajax的使用请大家注意三点:
1:
get方式请求最好加上时间戳,以免浏览器缓存对请求造成的影响。
2:
如果请求的字符串中含有中文字符,在某些浏览器下是否会出现中文乱码。
由于不同工程的编码方式不一致,以及浏览器的多样性,在这里很难提供一种完全解决方案,对于出现的具体问题,需要具体的解决方案。
3:
post方式请求参数的值应该通过对应的取值方式获取,(例如struts1系列通过form内封装属性,给予set、get方法。
然后在action中取值。
Struts2需要在action中提供属性与set、get方法。
).
2.1.1$.ajax的用法
形式:
jQuery.ajax([options])
HTML内容:
JavaScript内容:
$('#ddd').click(function(event){
$.ajax({
type:
"POST",
url:
"<%=path%>/ajaxCheck.action",
data:
"name=John&location=Boston",
success:
function(msg){
alert("DataSaved:
"+msg);
}
});
});
AjaxCheckAction内容:
一:
获取参数内容
System.out.println("name"+request.getParameter("name"));
System.out.println("location"+request.getParameter("location"));
二:
向客户端写内容:
Writerwriter=ServletActionContext.getResponse().getWriter();
//struts2需要首先获取HttpServletResponse。
其他情况只要获取此对象即可。
writer.write("向客户端写的内容");
//向客户端写的内容即为msg。
success:
function(msg){
alert("DataSaved:
"+msg);
}
注:
此方法也包含一些其他参数此处不做说明。
可参考《JQuery1.5.1中文API》。
2.1.2load的用法
形式:
load(url,[data],[callback])
Html内容:
Javascript内容:
$('#testLoad').click(function(event){
$("#divResult").load("<%=path%>/ajaxCheck.action?
name=nihao&location=shenyang",{
"resultType":
"html"
},function(responseText,textStatus,XMLHttpRequest){
alert('responseText'+responseText);
alert('textStatus'+textStatus);
alert('XMLHttpRequest'+XMLHttpRequest);
});
});
AjaxCheckAction内容:
//同上。
2.1.3$.get的用法
形式:
jQuery.get(url,[data],[callback],[type])
HTML内容:
JavaScript内容:
$('#testGet').click(function(event){
$.get("ajaxCheck.action",{name:
"John",location:
"2pm"},
function(data){
alert("DataLoaded:
"+data);
});
});
AjaxCheckAction内容:
//同上。
2.1.4$.post的用法
形式:
jQuery.post(url,[data],[callback],[type])
HTML内容:
JavaScript内容:
$('#testPost').click(function(event){
$.get("ajaxCheck.action",{name:
"John",location:
"2pm"},
function(data){
alert("DataLoaded:
"+data);
});
});
AjaxCheckAction内容:
privateStringname;
privateStringlocation;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetLocation(){
returnlocation;
}
publicvoidsetLocation(Stringlocation){
this.location=location;
}
publicStringexecute()throwsException{
System.out.println("name"+name+":
location"+location);
Writerwriter=ServletActionContext.getResponse().getWriter();
writer.write("返回客户端的内容");
}
对于$.getJSON的用法与$.getScript的用法此处不做讲解。
2.1.5全局Ajax事件
在jQuery.ajaxSetup(options)中的options参数属性中,有一个global属性:
global值类型:
布尔值,默认值:
true,说明:
是否触发全局的Ajax事件.
这个属性用来设置是否触发全局的Ajax事件.全局Ajax事件是一系列伴随Ajax请求发生的事件.主要有如下事件:
名称
说明
ajaxComplete(callback)
AJAX请求完成时执行函数
ajaxError(callback)
AJAX请求发生错误时执行函数
ajaxSend(callback)
AJAX请求发送前执行函数
ajaxStart(callback)
AJAX请求开始时执行函数
ajaxStop(callback)
AJAX请求结束时执行函数
ajaxSuccess(callback)
AJAX请求成功时执行函数
以下示例说明其执行顺序:
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
jQuery Ajax - AjaxEvent
$(document).ready(function()
{
$("#btnAjax").bind("click", function(event)
{
$.get("ajaxCheck.action");
})
$("#divResult").ajaxComplete(function(evt, request, settings) { $(this).append('
ajaxComplete
'); })
$("#divResult").ajaxError(function(evt, request, settings) { $(this).append('
ajaxError
'); })
$("#divResult").ajaxSend(function(evt, request, settings) { $(this).append('
ajaxSend
'); })
$("#divResult").ajaxStart(function() { $(this).append('
ajaxStart
'); })
$("#divResult").ajaxStop(function() { $(this).append('
ajaxStop
'); })
$("#divResult").ajaxSuccess(function(evt, request, settings) { $(this).append('
ajaxSuccess
'); })
});
结果为:
了解了事件的执行顺序更有利于我们对Ajax的处理。
2.2JQuery校验
首先此框架是由“validator”框架改进而成,因此同样需要“jQuery”基本
库文件做支持。
所需js类库jquery-1.5.1.min.js、validator-1.1.js。
方法简介:
checkNull
checkNull:
检查是否为空。
checkEmail
checkEmail:
检查email。
checkWebAddr
checkWebAddr:
检查网址填写格式。
checkEN
checkEN:
检查是否为英文。
checkCH
checkCH:
检查是否为汉字。
checkLimit
checkLimit(int,int):
检查输入数字是否在规定范围内。
checkMaxLength
chekcMaxLength(int):
最大长度。
checkMinLength
checkMinLength(int):
最小长度。
checkPwd
checkPwd(id):
比较两次输入内容是否一致。
checkInteger
checkInteger:
检查输入内容是否为整数(含负)。
checkDigits
checkDigits:
检查输入内容是否为正整数(含0)。
checkAlphanum
checkAlphanum:
检查输入内容是否为英文或数字。
checkIp
checkIp:
检查Ip(无端口号)填写格式。
checkIpAndPort
chekcIpAndPort:
检查Ip填写格式。
(端口号可有可无)
checkMobile
checkMobile:
检查手机号码填写格式。
checkPhone
checkPhone:
检查座机类电话号码填写格式。
checkMobileOrPhone
checkMobileOrPhone:
检查手机或电话号码填写格式。
checkCustomize
checkCustomize(regex):
传入条件进行检查。
regex:
自定义正则表达式。
使用实例:
checkNull
检查输入内容是否为空或包含空格。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
checkEmail
检查输入内容格式是否匹配email格式。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
checkWebAddr
检查输入内容格式是否匹配网址格式。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
checkEN
检查输入内容格式是否匹配英文格式。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
checkCH
检查输入内容格式是否匹配中文格式。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
checkLimit
检查输入数字是否在规定范围内。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
checkMaxLength
限制允许输入内容的最大字符。
参数:
最大内容长度。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
于5位]”/>
checkMinLength
限制允许输入内容的最小字符。
参数:
最小内容长度。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
于5位]”/>
checkPwd
比较两次输入内容是否一致。
参数:
要比较的另一个文本框的id。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
入不相同]”/>
checkInteger
检查输入内容是否为整数(含负)。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
值.]”/>
checkDigits
检查输入内容是否为正整数(含0)。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
含0]”/>
checkAlphanum
检查输入内容是否为英文或数字。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
正数]”/>
checkIp
检查Ip(无端口号)填写格式。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
checkIpAndPort
检查Ip填写格式。
(端口号可有可无)
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
确.]”/>
checkMobile
检查手机号码填写格式。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
checkPhone
检查座机类电话号码填写格式。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
checkMobileOrPhone
检查手机或电话号码填写格式。
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
码格式不正确.]”/>
checkCustomize
传入正则表达式进行检查。
参数:
regex:
自定义正则表达式。
注:
正则表达式格式必须完整“/^$/”必须写
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
$/)[格式不正确.]”/>
全局校验,提交表单。
vdSubmit
全局校验,并提交。
参数:
submitButton:
按钮名称,即点击的按钮id。
formId:
表单id。
action:
提交路径
返回:
用于提示用户的提示语,提示语使用“[]”包装。
eg:
$(function(){
$(“#submitButton”).vdSubmit({
“formId”:
“form1”,
“action”:
“addUserAction.action”
});
});
注意:
所有校验均可进行多种校验。
格式如下
2.3upload文件
JQuery上传文件采用的是JQuery的uploadify插件。
能够实现带进度条效果,并能够实现多文件上传。
具体实现过程
一:
工程内引入
1:
jquery.uploadify-v2.1.4包下的所有文件;
2:
封装的fileupload.js;
3:
jquery-1.5.1.min.js
注意:
这里jquery.uploadify.v2.1.4.js已经修改过,原文件的所有提示均为英文提示,并且当文件名过长的时候不能完全显示文件名称,此处修改为所有提示为中文提示,并且当文件名称过长时显示的形式为“文件名称…”当鼠标滑动到文字上时会显示全部文字。
二:
代码如下
1:
fileupload.Js
(function($){
/**
*上传文件
*@param{Object}path工程根路径即为request.getContextPath();
*@param{Object}action上传文件的Action
*@param{Object}size单个文件的大小
*@param{Object}fileExt允许上传的文件类型
*@param{Object}auto是否自动上传,设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传。
*@param{Object}multi是否可以一次上传多个文件,设置为true时可以上传多个文件。
*@param{Object}simUploadLimit每次允许同时上传的文件
*@memberOf{TypeName}
*/
$.fn.fileupload=function(path,action,size,fileExt,auto,multi,simUploadLimit,formId,completeAction){
varfileDesc="";
if(fileExt!
=null){
fileDesc="Files("+fileExt+")";
}
$(this).uploadify({
'uploader':
pa