首先,我沒有太多的JavaScript和jQuery的經驗:)我只是想找到一個快速的方式來連接jquery電子郵件驗證模塊與檢查recaptcha的函數。這裏是我的代碼:jquery驗證模塊和函數調用成功後
jQuery.validator.setDefaults({
debug: true,
success: "valid"
});
$("#myform").validate({
rules: {
field: {
required: true,
email: true
}
}
});
工作正常!輸入被驗證。
現在經過驗證,我需要兩件事:首先,我需要調用recapVerify(),在獲得驗證後,我需要提交表單。這是我使用的示例:email method。我知道我現在需要使用submitHandler,但我無法弄清楚在哪裏以及如何?
Btw。這是我想要使用的recapVerify()函數:
function recapVerify(){
$.ajax({
type:'post',
url: 'captcha_check.php',
data: {
recaptcha_challenge_field:$('#recaptcha_challenge_field').val(),
recaptcha_response_field:$('#recaptcha_response_field').val()
}
}).done(function(data, textStatus, jqXHR){
if (data == 'success'){
$('#err').addClass('hidden');
//document.forms[0].submit(); // uncomment this line to submit your form
alert('Success, the form and reCAPTCHA validated, your form was submitted');
} else {
$('#err').removeClass('hidden');
}
}).fail(function(jqXHR,textStatus,errorThrown){
console.log('recaptcha or service failure');
});
}
任何js錯誤即將到來。? – Pramod 2014-08-27 10:37:50
我在瀏覽器中看不到任何錯誤,但是如果我添加'success:recapVerify();'而不是'success:document.forms [0] .submit()'jquery驗證模塊將不起作用?我的意思是,它會傳遞給操作腳本,而無需事先檢查字段輸入? – mrki 2014-08-27 10:50:50
嘗試使用'submitHandler:recaptchaVerify()'而不是'success:recaptchaVerify()'。根據http://jqueryvalidation.org/validate/上的文檔,'success'用於表示有效的輸入。 – 2014-08-27 10:51:10