此代碼有什麼問題?表單提交和recaptcha
$(function() {
$('#my_form').submit(function(e) {
e.preventDefault();
recaptcha_response_field = $('input#recaptcha_response_field').val();
recaptcha_challenge_field = $('input#recaptcha_challenge_field').val();
$.post('controller.php', {recaptcha_response_field : recaptcha_response_field, recaptcha_challenge_field : recaptcha_challenge_field}, function(data) {
if(data == 0) {
alert('no');
} else {
alert('submit')
$('#my_form').submit();
}
});
})
});
我在表單中使用了recaptcha。當用戶輸入正確的圖形驗證碼這行代碼被執行
alert('submit')
$('#my_form').submit();
這麼胖這麼好。問題是表單沒有提交。我認爲這行代碼再次執行
$('#my_form').submit(function(e) {
有什麼建議嗎?
使用全局標誌(布爾VAR),以表明您是否可以提交表單提交或不。 – Archer
if(data == 0){ return false; } else { return true; } – anderssonola
@soderslatt這可能會起作用,但如果我沒有弄錯,最好在大多數情況下使用'preventDefault()':http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return- false –