jQuery重写表单验证的方法(一)

jQuery的load(url,[data],[callback])方法

语法说明:url为异步请求的地址,data用来向服务器传送请求数据,为可选参数。一旦data参数启用,整个请求过程将以post的方式进行,否则默认为get方式。如果希望在get方式下也传递数据,可以在url地址后面用类似“dataname1=data1&dataName2=data2”的方法。

callback为Ajax加载成功后运行的回调函数。另外使用load()方法返回的数据,不再需要考虑是文本还是XML,jQuery都会自动进行处理。好了,下面马上使用load()方法实现“自动表单验证”实例。首先是,html框架,5个例子都是一样的,如下:

 
 
  1. <form>
  2. 用户昵称:<input type="text" onblur="startCheck(this)" name="User" id="User"><span id="UserResult"></span><br />
  3. 输入密码:<input type="password" name="passwd1"><br />
  4. 确认密码:</td><td><input type="password" name="passwd2"><br />
  5. <input type="submit" value="注册" class="button">
  6. <input type="reset" value="重置" class="button">
  7. </form>

必要说明:

1、οnblur="startCheck(this)" 这是JavaScript代码(简称js) ,意思是text文本框失去焦点时触发自定义函数startCheck(),this是指代text文本框的值。

2、<span id="UserResult"></span>用来存放异步对象返回的结果。

 
 
  1. jQuery代码如下:
  2. <script language="javascript" src="jquery.min.js"></script>
  3. <script language="javascript">
  4. function startCheck(oInput){
  5. //首先判断是否有输入,没有输入直接返回,并提示
  6. if(!oInput.value){
  7. oInput.focus(); //聚焦到用户名的输入框
  8. document.getElementById("UserResult").innerHTML = "User cannot be empty.";
  9. return;
  10. }
  11. oInput=$.trim(oInput.value); //使用jQuery的$.trim()方法过滤左右空格
  12. var sUrl = "action.asp?user=" + oInput;
  13. sUrl=encodeURI(sUrl); //使用encodeURI()编码,解决中文乱码问题
  14. $("#UserResult").load(sUrl,function(data){
  15. $("#UserResult").html(decodeURI(data)); //使用decodeURI()解码
  16. }
  17. );
  18. }
  19. </script>

必要说明:

1、使用jQuery时,都必须加载jquery.min.js文件,可以到http://jquery.com/官网下载最新的版本。

2、判断是否有输入时,用的全是JavaScript语法。

3、对传递给“处理页”的参数进行encodeURI编码,以解决中文乱码问题。

4、load()中的function函数是为了对返回结果进行decodeURI解码,以解决中文乱码问题。

5、对$.trim()、$("#UserResult")、html等jQuery语法不理解的,可以参考jQuery中文手册。本站提供下载。

 
 
  1. action.asp处理页代码如下:
  2. <%
  3. if(Request("user")="eko") then
  4. Response.Write "Sorry, " & Request("user") & " already exists."
  5. else
  6. Response.Write Request("user")&" is ok."
  7. end if
  8. %>

必要说明:

1、action.asp处理页的编码是GB2312,如果把"Sorry..already exists..is ik"等英文改为中文,请看下面的说明。

2、使用post方法会出现乱码,这是由于异步对象XMLHttpRequest在处理返回的responseText的时候,是按UTF-8编码进行解码的。

3、所以post方式的话,必须把action.asp页另存为时,第三项的编码由 ANST 改为 UTF-8 (请务必记住!!)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值