2011-01-28 160 views
-1

我想知道如何合併這兩個Javascript ajax腳本。所以我的登錄信息將檢查我的數據庫用戶名和密碼匹配以及recaptcha將工作。我的JavaScript體驗很少。謝謝。兩個不同的PHP頁面需要爲每個我認爲,因爲這兩個迴應答案。Recaptcha登錄頁面

登錄腳本。

<script language="javascript"> 
$(document).ready(function() 
{ 
    $("#login_form").submit(function() 
    { 
     //remove all the class add the messagebox classes and start fading 
     $("#msgbox").removeClass().addClass('messagebox').text('Validating....').fadeIn(1000); 
     //check the username exists or not from ajax 
    $.post("ajax_login.php",{ user_name:$('#username').val(),password:$('#password').val(),rand:Math.random() } ,function(data) 
     { 
      if(data=='yes') //if correct login detail 
      { 
      $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox 
      { 
       //add message and change the class of the box and start fading 
       $(this).html('Logging in.....').addClass('messageboxok').fadeTo(900,1, 
       function() 
       { 
       //redirect to secure page 
       document.location='edujob.php'; 
       }); 
      }); 
      } 
      else 
      { 
      $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox 
      { 
       //add message and change the class of the box and start fading 
       $(this).html('incorrect').addClass('messageboxerror').fadeTo(900,1); 
      });  
      } 

     }); 
     return false; //not to post the form physically 
    }); 
    //now call the ajax also focus move from 

}); 
</script> 

的Recaptcha腳本

function validateCaptcha() 
{ 
    challengeField = $("input#recaptcha_challenge_field").val(); 
    responseField = $("input#recaptcha_response_field").val(); 
    //alert(challengeField); 
    //alert(responseField); 
    //return false; 
    var html = $.ajax({ 
    type: "POST", 
    url: "ajax.recaptcha.php", 
    data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField, 
    async: false 
    }).responseText; 

    if(html == "success") 
    { 
     $("#captchaStatus").html("YES"); 
     // Uncomment the following line in your application 
     return false; 
    } 
    else 
    { 
     $("#captchaStatus").html("Your captcha is incorrect. Please try again"); 
     Recaptcha.reload(); 
     return false; 
    } 
} 
+3

您是否考慮過將一個附加到另一個? – meagar 2011-01-28 19:28:40

回答

0

我想感謝這對我的作品的期待。

<script language="javascript"> 

    function validateCaptcha() 
    { 
     challengeField = $("input#recaptcha_challenge_field").val(); 
     responseField = $("input#recaptcha_response_field").val(); 
     $("#msgbox").removeClass().addClass('messagebox').text('Validating....').fadeIn(1000); 
     //alert(challengeField); 
     //alert(responseField); 
     //return false; 
     var html = $.ajax({ 
     type: "POST", 
     url: "ajax.recaptcha.php", 
     data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField, 
     async: false 
     }).responseText; 

     if(html == "success") 
     { 
      $("#captchaStatus").html("YES"); 
      $.post("ajax_login.php",{ user_name:$('#username').val(),password:$('#password').val(),rand:Math.random() } ,function(data) 
      { 
       if(data=='yes') //if correct login detail 
       { 
       $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox 
       { 
        //add message and change the class of the box and start fading 
        $(this).html('Logging in.....').addClass('messageboxok').fadeTo(900,1, 
        function() 
        { 
        //redirect to secure page 
        document.location='edujob.php'; 
        }); 
       }); 
       } 
       else 
       { 
       $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox 
       { 
        //add message and change the class of the box and start fading 
        $(this).html('Incorrect username or password').addClass('messageboxerror').fadeTo(900,1); 
       });  
       } 

      }); 
      return false; 
     } 
     else 
     { 
      $("#captchaStatus").html("Your captcha is incorrect. Please try again"); 
      Recaptcha.reload(); 
      return false; 
     } 
    } 
    </script>