1. 程式人生 > >關於js 方法,實現ajax請求時,return false/true無效的問題

關於js 方法,實現ajax請求時,return false/true無效的問題

前幾天,在校驗一個表單資料用到ajax時,遇到 return false 無效問題,以下就是對這個問題進行了分析介紹,需要的朋友可以參考下

//檢驗郵箱/使用者名稱是否存在於資料庫

function checkMemberName(){
    var account=$.trim($("#account").val());
    var ctx=$("#ctx").val();
    if(account==""){
        $("#accountMessage").text("Please enter your Email, convenient for us to start the service for you");
        $("#accountMessage").removeClass("success");
        $("#accountMessage").addClass("error");
        return false;
    }
    var flag=true;
    $.ajax({
        url:ctx+"/user/checkAccount",                    
        type:"POST",
        async:false,  
        cache:false,
        data:"account="+account,        
        dataType:"json",                
        success:function(result){
            if(result){
                $("#accountMessage").text("The member name may not exist, please check it carefully, it's convenient, you retrieve password as soon as possible!");
                $("#accountMessage").removeClass("success");
                $("#accountMessage").addClass("error");
                flag= false;
            }else{
                $("#accountMessage").text("This member name may affect your password back. Please check carefully!");
                $("#accountMessage").removeClass("error");
                $("#accountMessage").addClass("success");
                flag= true;
            }
        }
    });
    return flag;
}
//驗證碼的檢測
function checkCaptcha(){
    var captcha=$.trim($("#captcha").val());
    var ctx=$("#ctx").val();
    if(captcha==""){
        $("#codeMessage").html("Please enter verification code.");
        $("#codeMessage").addClass("error");
        return false;
    }
    var flag=true;
    $.ajax({
        url:ctx+"/user/checkCaptcha",                    
        type:"POST",
        async:false,  
        cache:false,
        data:"captcha="+captcha,        
        dataType:"json",                
        success:function(result){
            if(!result){
                $("#codeMessage").text("The verification code is error.");
                $("#codeMessage").addClass("error");
                flag= false;
            }else{
                $("#codeMessage").text(" ");
                $("#codeMessage").removeClass("error");
                flag= true;
            }                
        }
    });
    return flag;
}
//密碼找回,頁面跳轉的驗證
function checkFindPassword(){
    var flag=true;
    if(!checkMemberName()) flag=false;
    alert(flag);
    if(!checkCaptcha()) flag=false;
    alert(flag);
    if(flag){
        $("#findPasswordForm").submit();
    }
}
$(function(){
    var ctx=$("#ctx").val();
    $("#kaptchaImage").click(function(){
        $(this).hide().attr('src',ctx+'/captcha/captcha.jpg?t='+new Date().getTime()).fadeIn();
    });
    $(".codeshowimg").click(function(){
        $("#kaptchaImage").hide().attr('src',ctx+'/captcha/captcha.jpg?t='+new Date().getTime()).fadeIn();
    });
});