そのため、ajaxを使用してデータベースから条件が検証された場合にのみ送信したいフォームがあります。preventDefault()
条件が真の場合、つまりユーザーが居住者でない場合、変数が真に設定されて呼び出される場合、メソッドajax successs function
を使用していますがpreventDefault()
、これを行うと、フォームは常に送信されます。async が false に設定されていても、ajax が終了するのを待ちません。これがコードです。
$('#button').click(function(e) {
if ($('#ca_resident').prop('checked') == true) {
amount=$('#user-amount').val().replace(/[,]/g,"");
project_name=$('#project_name').val();
var not_resident = false;
$.ajax({
url: '/main/verify_residence/',
type: 'POST',
aysnc: false,
data: {
value: amount,
name: project_name
},
success: function(data){
$("#verify_residence").html(data);
not_resident = true;
},
dataType: 'html'
});
}
if(not_resident){
e.preventDefault();
}
});