我正在使用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以及否則會出現一個頁面重載=(
@jasondavis - 你應該編輯你以前的類似問題,並把它放在一個賞金吧。http://stackoverflow.com/questions/1257991 /如何到交易與 - jqu ERY-Ajax的意見和-驗證碼 – karim79 2009-08-11 20:29:54