2009-08-11 149 views
-1

我正在使用ajax,json和jquery評論腳本。在jQuery中使用Ajax表單進行驗證碼的最佳方法?

我大部分的工作除了最難的部分, 如果一個用戶發佈X個ammount的評論時間ammount,我的php腳本將返回一個「captcha」觸發器到我的javascript代碼下面,告訴它這個用戶需要輸入圖形驗證碼之前,我們將在那裏的DB評論

下面你將看到我有一個返回值的3個選項:成功,錯誤和驗證碼

返回驗證碼的時候,我想在屏幕上打開一個彈出式對話框並加載我的驗證碼腳本,到目前爲止,所有內容都可以正常工作。

現在我需要使captcha腳本提交,不僅captcha值,而且我的用戶評論,所以我只需要填充一個隱藏的表單字段與評論值。很簡單,我還沒有做到。現在,如果用戶獲得錯誤的captcha值,它需要重新加載屏幕,但再次彈出驗證碼屏幕,並仍然將註釋隱藏在表單值中。這是棘手的部分進來。

在閱讀我的計劃並查看我的代碼下面,你認爲我是在正確的軌道上?任何建議在更好的方式?

<script type="text/javascript"> 
$.ajax({ 
    type: "POST", 
    url: "process.php", 
    data: dataString, 
    dataType: "json", 
    success: function(data) { 
     if (data.response === 'captcha') { 
      //they are mass posting so we need to give them the captcha form 
      // I can send the users sanitized comment through the captcha script somehow 
      // 'data.comment' is holding the comment value 
      jQuery.facebox(function() { 
       // This opens up a facebox dialog on the screen and popolates it with the captcha image and script 
       jQuery.get('captchabox.php', function(data) { 
        jQuery.facebox('' + data + '') 
        data.comment; 
       }) 
      }) 
     } else if (data.response === 'success') { 
      // success append the sanitized-comment to the page 
      $('#comments').prepend(data.comment); 
     } else if (data.response === 'error') { 
      // just an alert for testing purposes 
      alert('sorry there was an error'); 
     }; 
    } 
}); 
</script> 

UPDATE:

後更覺得似乎我需要讓我的驗證碼使用AJAX以及否則會出現一個頁面重載=(

+1

@jasondavis - 你應該編輯你以前的類似問題,並把它放在一個賞金吧。http://stackoverflow.com/questions/1257991 /如何到交易與 - jqu ERY-Ajax的意見和-驗證碼 – karim79 2009-08-11 20:29:54

回答

-1

最後我做這個Recaptcha,其他人認爲與之相關的是怎樣的未知