首先我把代码亮出来
<script type="text/javascript">
var xmlHttp;
var currentName;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function checkUserName(field,url) {
var name = field.value;
if(name=="" || name.length<3) {
document.getElementById("nameMessage").innerHTML="用户名应该不小于3位";
return;
}else {
createXMLHttpRequest();
url = url+"?username="+name;
alert(url);
currentName = name;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}
}
function callback() {
alert("xmlHttp.readyState:"+xmlHttp.readyState);
alert("xmlHttp.status:"+xmlHttp.status);
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200 || xmlHttp.status==0) {
var user = eval('(' + xmlHttp.responseText + ')');
if(user.registered) {
document.getElementById("nameMessage").innerHTML ="<font color='red'>"+currentName+", 用户名已经被注册 !</font>";
}else {
document.getElementById("nameMessage").innerHTML = "<font color='green'>"+currentName+", 用户名可以使用 !</font>";
}
}
}
}
</script>
==============================================
<td>用户名:</td>
<td><input type="text" name="username" value="${username}" onblur="checkUserName(this,'register!check.action')"/></td>
<td><span id="nameMessage"></span></td>
==============================================
public String check() throws Exception {
// ActionContext ctx = ActionContext.getContext();
// HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
// String username = request.getParameter("inputName");
System.out.println("异步调用check方法");
if(studentService.getByName(username) != null) {
this.registered = true;
}
return "myJson";
}
=============================================
<package name="ajax" extends="json-default">
<action name="register" class="action.RegisterAction">
<result name="success">/login.jsp</result>
<result name="input">/register.jsp</result>
<result name="myJson" type="json"></result>
<!--<result name="myJson" type="json"></result>-->
</action>
</package>
<script type="text/javascript">
var xmlHttp;
var currentName;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function checkUserName(field,url) {
var name = field.value;
if(name=="" || name.length<3) {
document.getElementById("nameMessage").innerHTML="用户名应该不小于3位";
return;
}else {
createXMLHttpRequest();
url = url+"?username="+name;
alert(url);
currentName = name;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}
}
function callback() {
alert("xmlHttp.readyState:"+xmlHttp.readyState);
alert("xmlHttp.status:"+xmlHttp.status);
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200 || xmlHttp.status==0) {
var user = eval('(' + xmlHttp.responseText + ')');
if(user.registered) {
document.getElementById("nameMessage").innerHTML ="<font color='red'>"+currentName+", 用户名已经被注册 !</font>";
}else {
document.getElementById("nameMessage").innerHTML = "<font color='green'>"+currentName+", 用户名可以使用 !</font>";
}
}
}
}
</script>
==============================================
<td>用户名:</td>
<td><input type="text" name="username" value="${username}" onblur="checkUserName(this,'register!check.action')"/></td>
<td><span id="nameMessage"></span></td>
==============================================
public String check() throws Exception {
// ActionContext ctx = ActionContext.getContext();
// HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
// String username = request.getParameter("inputName");
System.out.println("异步调用check方法");
if(studentService.getByName(username) != null) {
this.registered = true;
}
return "myJson";
}
=============================================
<package name="ajax" extends="json-default">
<action name="register" class="action.RegisterAction">
<result name="success">/login.jsp</result>
<result name="input">/register.jsp</result>
<result name="myJson" type="json"></result>
<!--<result name="myJson" type="json"></result>-->
</action>
</package>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货