<!--  ajax判断用户名是否存在  -->
     <script language="JavaScript" type="text/javascript">
    var request = false;
    try{
     request = new XMLHttpRequest();
    }catch(microsoftIE){
     try{
      request = new ActiveXObject("Msxml2.XMLHTTP");
     }catch(microsoftOldIE){
      try{
       request = new ActiveXObject("Microsoft.XMLHTTP");
      }catch(failed){
       request = false;
      }
     }
    }
    if(!request){
     alert("初始化XMLHttpRequest对象失败");
    }
    function sendUsername(){
     var username = document.getElementById("userid").value;
     if(username!=null && username!=""){
      var url = "userManageAction!getAdd.action?username="+escape(username);//能不能这样写,怎么把得到的url里面username传到Action里面
      alert(url);
      request.open("post",url,true);
      request.onreadystatechange=updatepage;
      request.send(null);
     }
    }
    function updatepage(){
     if(request.readyState==4){
      if(request.status==200){
       document.getElementById("reusername").innerHTML = request.responseText;
       //document.getDocumentById("reusername").innerText = request.responseText;
      }else if(request.status==404){
       alert("找不到页面!");
      }else{
       alert("错误代码:"+request.status);
      }
     }
    }
    function clearMessage(){
     document.getElementById("reusername").innerHTML = "";
    }
    </script>
Action代码,不知道是不是这样写(struts2框架) // 判断用户名是否已经存在
if(userManage.getName() != null){
namelist = userManageService.exist(userManage);
for(int i=0;i<namelist.size();i++){
UserManageVo umv = (UserManageVo)namelist.get(i);
if(userManage.getName().equals(umv.getName())){
this.addActionError("<font color='red'>用户名已经注册</font>");
}else {
this.addActionError("<font color='green'>用户名可以用</font>");
}
}


}

解决方案 »

  1.   

    var url = "userManageAction!getAdd.action?username="+escape(username);
    没看明白userManageAction是页面?action是方法?getAdd是什么?
      

  2.   

    var url = "userManageAction!getAdd.action?username="+escape(username); 
    是个类.
    别人的列子上是跳到jsp页面. var url = "./judgeUsername.jsp?username="+escape(username);judgeUsername.jsp
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%
     String username = request.getParameter("userManage.name");
     //System.out.println("username:"+username);
     if(username.equals("guoyongfei")){
      out.println("<font color='red'>用户名已经注册</font>");
     }else{
      out.println("<font color='green'>用户名可以用</font>");
     }
     %>
    现在把它改到java类里面.
      

  3.   

    this.addActionError(" <font color='green'>用户名可以用 </font>"); 
    这个是struts2中自带的方面.
      

  4.   

    直接传过去就是 struts2action里面设置了属性 就能取到