用SSH2和Ajax做用户注册信息的校验,就是依照某例子做,但是check_u_exist()只能返回true。
我对  以下代码不是很明白意思。
 url,  
    {  
        method:'post',  
        parameters:param,  
        onComplete:completeFun,  
        asychronous:true  
    });  
    return true; 这个判断不是很懂。请问是不是出现语法错误导致无论如何 都 只 会返回true的。
结果
else if(check_u_exist()) {      //如果前面验证都通过,则验证用户名是否存在  
        return false;  
    }  
结果每次都到这里就被卡住了,
想要问问怎么调整这个语法,。令其可以返回return true=》false。(完整代码地址:http://blog.csdn.net/happyking999/article/details/7165245?reload )
代码摘选如下
function check_u_exist()  
{  
    var url = 'checkU.action';      //对应到struts.xml中的action  
    var param = Form.serialize('registForm');       //registForm为表单的ID  
    var myAjax = new Ajax.Request(      //prototype框架中的Ajax.Request,需要下载prototype.js文件,在页面调用它。  
    url,  
    {  
        method:'post',  
        parameters:param,  
        onComplete:completeFun,  
        asychronous:true  
    });  
    return true;  
}  
function completeFun(response) {  
    obj = document.getElementById("u_e");  
    var result = response.responseText;     //可以获取action中response.getWriter().write("XXXX")的内容  
  
    if(result == '1') {  
        sub_t = document.createTextNode("該用戶名已經存在!");  
        obj.appendChild(sub_t);  
    }  
      
}  //验证用户名  
function check_u(){  
    obj1 = document.getElementById("username");  
    obj2 = document.getElementById("u_e");  
    while(obj2.hasChildNodes()){  
        obj2.removeChild(obj2.childNodes[0]);  
    }  
    var pattern = /[^\x00-\xff]/g;  
    if(obj1.value=="") {  
        sub_t = document.createTextNode("用戶名不能為空!");  
        obj2.appendChild(sub_t);  
        return false;  
    }  
    else if(pattern.test(obj1.value)){  
        sub_t = document.createTextNode("用戶名格式不正確!");  
        obj2.appendChild(sub_t);  
        return false;  
    }  
    else if(check_u_exist()) {      //如果前面验证都通过,则验证用户名是否存在  
        return false;  
    }  
    else {  
        return true;  
    }  
}  

解决方案 »

  1.   

    if(result == '1') {  
            sub_t = document.createTextNode("該用戶名已經存在!");  
            obj.appendChild(sub_t);  
    return false;
        }  
      

  2.   

    ajax有方法判断是成功还是失败的,success和fail
      

  3.   

    prototype框架 没用过,,但是你这里的return true 是不是表示每次都成功呢??估计问题在这里吧
      

  4.   

     url,  
        {  
            method:'post',  
            parameters:param,  
            onComplete:completeFun,  
            asychronous:true  
        });  
        return true;