必要说明: 1、onblur="startCheck(this)" 这是JavaScript代码(简称js) ,意思是text文本框失去焦点时触发自定义函数startCheck(),this是指代text文本框的值。 2、用来存放异步对象返回的结果。 jQuery代码如下: 必要说明: 1、使用jQuery时,都必须加载jquery.min.js文件,可以到http://jquery.com/官网下载***的版本。 2、判断是否有输入时,用的全是JavaScript语法。 3、对传递给“处理页”的参数进行encodeURI编码,以解决中文乱码问题。 4、load()中的function函数是为了对返回结果进行decodeURI解码,以解决中文乱码问题。 5、对$.trim()、$("#UserResult")、html等jQuery语法不理解的,可以参考jQuery中文手册。本站提供下载。 action.asp处理页代码如下: <% if(Request("user")="eko") then Response.Write "Sorry, " & Request("user") & " already exists." else Response.Write Request("user")&" is ok." end if %> 必要说明: 1、action.asp处理页的编码是GB2312,如果把"Sorry..already exists..is ik"等英文改为中文,请看下面的说明。 2、使用post方法会出现乱码,这是由于异步对象XMLHttpRequest在处理返回的responseText的时候,是按UTF-8编码进行解码的。 3、所以post方式的话,必须把action.asp页另存为时,第三项的编码由 ANST 改为 UTF-8 (请务必记住!!)。 第二、使用$.get(url,[data],[callback])和$.post(url,[data],[callback])方法 语法说明:尽管load()方法可以实现get和post两种方式,但很多时候开发者还是希望能够指定发送方式,并且处理服务器返回的值。jQuery提供了$.get()和$.post()两种方法,分别针对这两种请求方式。 其中,url为请求地址,data为请求数据的列表,是可选参数,callback为请求成功后的回调函数,该函数接受两个参数,***个参数为服务器返回的数据,第二个参数为服务器的状态,是可选参数。$.post()中的type为请求数据的类型,可以是html、xml、json等。 “可自动校验表单实例”的jQuery代码如下,html如上所述。 必要说明: 1、对$.trim()、$("#UserResult")、html、val()等jQuery语法不理解的,可以参考jQuery中文手册。本站提供下载。 2、自定义函数createQueryString(),是对传入“处理页”的参数,进行处理。一种常规的方法。 3、因为是以get方式处理,说明这里不需要进行编码和解码。下面以post方式处理,则需要编码和解码了,代码如下 function createQueryString(){ //使用encodeURI()编码解决中文乱码问题 var username=encodeURI($("#User").val()); //组合成对象的形式 var queryString={user:username}; return queryString; } function startCheck(oInput){ //首先判断是否有输入,没有输入直接返回,并提示 if(!oInput.value){ oInput.focus(); //聚焦到用户名的输入框 document.getElementById("UserResult").innerHTML = "User cannot be empty."; return; } oInput=$.trim(oInput.value); //使用jQuery的$.trim()方法过滤左右空格 $.post("action.asp",createQueryString(), function(data){ $("#UserResult").html(decodeURI(data)); }); } 第三、使用$.ajax()方法 语法说明:尽管load()、$.get()和$.post()非常方便实用,但却不能控制错误和很多交互的细节,可以说这3种方法对Ajax的可控性较差。jQuery提供了一个强大的函数$.ajax(options)来设置Ajax访问服务器的各个细节,它的语法十分简单,就是设置Ajax的各个选项,然后指定相应的值。“可自动校验表单”实例代码如下: 必要说明: 1、代码基本同上,只是$.ajax(options)稍有不同,对于其参数不理解可以参考jQuery中文手册。 2、给个建议,无论是get方式还是post方式,都习惯进行编码,以防出现中文乱码的问题。 3、再强调一下,无论使用哪种程序,如果遇到问题了,都可以参考相关的手册说明,这是建站所必需的。 上面的实例使用了jQuery的load()方法、$.get()、$.post()、$.ajax()的4种方法,都要考虑中文乱码的问题,下面推荐一个方法,进一步简化jQuery代码,呵呵。 第四、表单插件 表单插件(Form Plugin)是一款功能非常强大的插件,在jQuery官方网站上目前为4***推荐,下载后为jquery.form.js文件。该插件提供获取表单数据、重置表单项目、使用Ajax提交数据等一系列功能,深受开发人员的喜爱。使用表单插件,再次重写“表单校验实例”,完整代码如下: |