在添加用户时,得判断用户名是否存在,存在就不能添加。ajax的dwr不太会(用dwr也行,就是我配置文件dwr.xml也配置了,js也写了,为什么就是不行呢??),就想用简单的跳页面来判断了。但是如何判断呢,是在提交时判断还是判断完在提交呢??

解决方案 »

  1.   

    把用户密码提交到验证页,在那里验证是否存在,不存在就insert,DWR不会你也可以用单纯的AJAX
      

  2.   

    <script language="JavaScript"> var http = getHTTPObject(); 
    function getHTTPObject(){ 
            var xmlhttp = false; 
            if(window.XMLHttpRequest){ 
                xmlhttp = new XMLHttpRequest(); 
                if(xmlhttp.overrideMimeType){ 
                    xmlhttp.overrideMimeType('text/xml'); 
                } 
            } 
            else{ 
                try{ 
                    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
                }catch(e){ 
                    try{ 
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
                    }catch(E){ 
                        xmlhttp = false; 
                    } 
                } 
            } 
            return xmlhttp; 
        } 
        function getUsers(){ 
        var url = "***Action.do?proc=getMessenges";// proc 为你自己定义的
    url+= "&username="+你页面输入的username//document.getElementById(userName).value;
    http.open("POST",url,true); 
        http.onreadystatechange = responseMessenges; 
        http.send(null); 
        } 
        
        function responseMessenges(){ 
        if(http.readyState == 4){ 
                if(http.status == 200){ 
                    var info = http.responseText;//这是action的返回值 
                  //在这里做其他的操作 比如你有用户返回1 没有就2 那就你的时候就alert提示信息
                  
                } 
                else{ 
                    alert("您所请求的页面发生异常,可能会影响您浏览该页的信息!"); 
                } 
            } 
        } 
    </script> ---------- 
    输入用户名的框里你可以用
    <input type="text" name="userName" onblur="getUsers()">
    ----------
    public ActionForward getMessenges(ActionMapping mapping, ActionForm form, 
    HttpServletRequest request, HttpServletResponse response) 
    throws Exception { 
    String username= request.getParameter("username");
    username= new String(username.getBytes("ISO-8859-1"), "GBK");//解决中文乱码问题
    //这里你就可以用username去判断用户名有没有已经存在了
                    response.setContentType("text/html"); 
    response.setCharacterEncoding("UTF-8"); 
    response.getWriter().print("你要返回页面的东西") 
    return mapping.findForward(""); 
    }