<%@ 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*/ 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; } }
效果如下图:


浙公网安备 33010602011771号