使用jQuery验证用户名是否存在,达到局部刷新的效果

废话不多说了,直接贴代码,程序员都能看得懂。

前台:jqueryLogin.jsp

[html]  view plain copy
  1. <%@ page pageEncoding="UTF-8"%>  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  3. <html><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />  
  4. <title>使用jQuery验证用户名是否存在,达到局部刷新的效果</title>   
  5. <script src="${basePath}/js/jquery.js" type="text/javascript"></script>  
  6. <script type="text/javascript">  
  7. $(document).ready(function(){  
  8.     //聚焦时触发的事件  
  9.     $("#loginname").focus(function(){  
  10.         $("#msg").html("");  
  11.     });  
  12.     //点击按钮时触发事件  
  13.     $("#checkLoginname").click(function(){  
  14.         var loginname=$("#loginname").val().replace(/\s/g,'');//去除头尾空格  

  1. 注解:/正则表达式/   这两个斜杠是JS正则表达式的规则,\s   匹配任何空白字符,包括空格、制表符、换页符等等。\g   全文匹配

  1.         if(loginname==''){  
  2.             $("#msg").html("用户名不能为空!");  
  3.             $("#loginname").val("");  
  4.             return false;  
  5.         }  
  6.         if(loginname.length>20){  
  7.             $("#msg").html("用户名超过长度!");  
  8.             return false;  
  9.         }  
  10.                 //使用jQuery提交,回调函数function(data)里返回相应信息:data  
  11.         $.post("${basePath}/checkloginname.htm?d="+new Date().getTime(), {"member.loginname":loginname}, function(data){  
  12.             $("#msg").html(data);  
  13.         });  
  14.         return false;  
  15.     });  
  16. });  
  17. </script>   
  18.   </head>   
  19.   <body>   
  20.     <form method="post" action="${basePath}/registe.htm" id="registeForm" class="validateForm">  
  21.           <tr>   
  22.             <td width="30%" align="right">用户名:</td>   
  23.             <td width="70%"> <input type="text" name="member.loginname" id="loginname" class="input" />   
  24.                 <input type="button" value="检查用户名是否可用" class="btn" id="checkLoginname"/> <span id="msg" style="color:red"></span></td>   
  25.           </tr>   
  26.     </form>   
  27.   </body>   
  28. </html>  

后台action代码:

MemberAction.java

[java]  view plain copy
  1. /** 
  2.  *  ClassName: MemberAction.java 
  3.  *  Created on 2011 
  4.  *  Copyrights 2011 hi.csdn.net/tjcyjd All rights reserved. 
  5.  *  site: http://hi.csdn.net/tjcyjd 
  6.  *  email: 908599713@qq.com 
  7.  */  
  8. package com.tjitcast.bbs.web.action.front;  
  9. import org.apache.struts2.convention.annotation.Action;  
  10. import org.apache.struts2.convention.annotation.Namespace;  
  11. import org.apache.struts2.convention.annotation.ParentPackage;  
  12. import org.springframework.context.annotation.Scope;  
  13. import org.springframework.stereotype.Controller;  
  14. import com.tjitcast.bbs.domain.Member;  
  15.   
  16. /** 
  17.  * 检查会员是否存在的Action类 
  18.  *  
  19.  * @author yjd 
  20.  */  
  21. @Controller("front.memberAction")  
  22. @Scope("prototype")  
  23. @Namespace("/")  
  24. @ParentPackage("struts-default")  
  25. public class MemberAction extends BaseAction {  
  26.     private static final long serialVersionUID = -4631080996625964833L;  
  27.     private Member member;  
  28.     /** 
  29.      * 检查用户名是否已经存在 
  30.      */  
  31.     @Action(value = "checkloginname")  
  32.     public void checkLoginname() {  
  33.         Member temp = memberService.get(member.getLoginname());  
  34.         if (temp != null) {  
  35.             renderText("用户名已存在,请更换!");  
  36.         } else {  
  37.             renderText("恭喜你,这个用户名可用!");  
  38.         }  
  39.     }  
  40.       public void renderText(String text) {  
  41.         HttpServletResponse response = getResponse();  
  42.         response.setContentType("text/plain;charset=UTF-8");  
  43.         try {  
  44.             response.getWriter().write(text);  
  45.             response.getWriter().flush();  
  46.         } catch (IOException e) {  
  47.             throw new IllegalArgumentException(e); // 把受检异常转换为非受检异常  
  48.         }  
  49.     }  
  50.     public Member getMember() {  
  51.         return member;  
  52.     }  
  53.   
  54.     public void setMember(Member member) {  
  55.         this.member = member;  
  56.     }  
  57. }  

Member实体类就不贴出来了……

效果如下图:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值