廢話不多說了,直接貼代碼,程式員都能看得懂。
前台:jqueryLogin.jsp
<%@ page pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /><title>使用jQuery驗證使用者名稱是否存在,達到局部重新整理的效果</title> <script src="${basePath}/js/jquery.js" type="text/javascript"></script><script type="text/javascript">$(document).ready(function(){//聚焦時觸發的事件$("#loginname").focus(function(){$("#msg").html("");});//點擊按鈕時觸發事件$("#checkLoginname").click(function(){var loginname=$("#loginname").val().replace(/\s/g,'');//去除頭尾空格if(loginname==''){$("#msg").html("使用者名稱不可為空!");$("#loginname").val("");return false;}if(loginname.length>20){$("#msg").html("使用者名稱超過長度!");return false;} //使用jQuery提交,回呼函數function(data)裡返回相應資訊:data$.post("${basePath}/checkloginname.htm?d="+new Date().getTime(), {"member.loginname":loginname}, function(data){$("#msg").html(data);});return false;});});</script> </head> <body> <form method="post" action="${basePath}/registe.htm" id="registeForm" class="validateForm"> <tr> <td width="30%" align="right">使用者名稱:</td> <td width="70%"> <input type="text" name="member.loginname" id="loginname" class="input" /> <input type="button" value="檢查使用者名稱是否可用" class="btn" id="checkLoginname"/> <span id="msg" style="color:red"></span></td> </tr> </form> </body> </html>
後台action代碼:
MemberAction.java
/** * ClassName: MemberAction.java * Created on 2011 * Copyrights 2011 hi.csdn.net/tjcyjd All rights reserved. * site: http://hi.csdn.net/tjcyjd * email: 908599713@qq.com */package com.tjitcast.bbs.web.action.front;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.Namespace;import org.apache.struts2.convention.annotation.ParentPackage;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import com.tjitcast.bbs.domain.Member;/** * 檢查會員是否存在的Action類 * * @author yjd */@Controller("front.memberAction")@Scope("prototype")@Namespace("/")@ParentPackage("struts-default")public class MemberAction extends BaseAction {private static final long serialVersionUID = -4631080996625964833L;private Member member;/** * 檢查使用者名稱是否已經存在 */@Action(value = "checkloginname")public void checkLoginname() {Member temp = memberService.get(member.getLoginname());if (temp != null) {renderText("使用者名稱已存在,請更換!");} else {renderText("恭喜你,這個使用者名稱可用!");}} public void renderText(String text) {HttpServletResponse response = getResponse();response.setContentType("text/plain;charset=UTF-8");try {response.getWriter().write(text);response.getWriter().flush();} catch (IOException e) {throw new IllegalArgumentException(e); // 把受檢異常轉換為非受檢異常}}public Member getMember() {return member;}public void setMember(Member member) {this.member = member;}}
Member實體類就不貼出來了……
效果如: