2013-09-04 2 views
2

제출할 때 AJAX를 통해 계정 번호가 유효한지 확인하는 양식이 있습니다.jQuery Ajax 양식은 두 번 클릭 한 후에 만 ​​제출합니다.

잘못된 경우 오류 메시지가 표시됩니다. 이것은 잘 작동합니다.

유효한 경우 양식을 제출해야합니다. 제출 버튼을 두 번 클릭 한 후에 만 ​​을 제출합니다..

$('#account_validation_form').on('submit', function(e){ 

    e.preventDefault(); 

    var payers_account = $("input[name='payers_account']").val(); 

    $.post('ajax.php', {payers_account:payers_account}, function(data){ 

    if(data === 'invalid'){ 
    $(".account_invalid_message").html("<p>Given Account Number is invalid</p>"); 
    } 

    else if(data === 'valid'){ 
    $("#account_validation_form").unbind('submit').submit() 
    } 

    }); 

}); 

거기에 e.preventDefault()을 부르는 것이 잘못되었습니다. 하지만 AJAX 콜백에 넣을 수는 없습니다. 그래서 이것을위한 해결책은 무엇입니까? "= = 입력"제출 "

$('#submit_button_id').on('click', function(e){ 



    var payers_account = $("input[name='payers_account']").val(); 

    $.post('ajax.php', {payment_amount:payment_amount, payers_account:payers_account,}, function(data){ 

    if(data === 'invalid'){ 
    $(".account_invalid_message").html("<p>Given Account Number is invalid</p>"); 
    } 

    else if(data === 'valid'){ 
    $("#account_validation_form").submit(); 
    } 

    }); 

}); 
+0

안녕하세요, else (data === 'valid') – gjman2

+0

을 클릭하고 '$. post'가 완료되었는지 잠시 기다렸습니까? –

+0

예 저는 1 분 이상 기다렸습니다. 첫 번째 클릭에서 여전히 작동하지 않았습니다. –

답변

2
$('#submit_button_id').on('click', function(e) 
{ 
    var payers_account = $("input[name='payers_account']").val(); 
    $.post('ajax.php', 
    { 
     payment_amount: payment_amount, 
     payers_account: payers_account, 
    }, function(data) 
    { 
     if (data === 'invalid') 
     { 
      $(".account_invalid_message").html("<p>Given Account Number is invalid</p>"); 
     } 
     else if (data === 'valid') 
     { 
      $("#account_validation_form").submit(); 
     } 
    }); 
}); 

사용이 코드와 유형을 변경 HTML에 약간의 변화를 수행 예 :

+0

에서 내 문제를 참조하십시오. http://stackoverflow.com/questions/42707047/jquery-ajax-form-requires-2-clicks-to-submit – DragonFire

2

양식 게시물을 바인딩 버튼 클릭 이벤트를 제출하십시오 버튼 "을 클릭하십시오.

+0

시도했습니다. 그것의 작동하지 않습니다. 데이터가 유효하더라도 양식을 제출하지 않습니다. –

관련 문제