私は onsubmit="return check_for_conflict()" を使用してこの関数を呼び出しています:
function check_for_conflict(){
var client_id = $('#agent_select').val();
//Stop submit if no agent selected.
if (client_id == 0){
alert("Please select an agent.")
return false;
}
var duration = $('#select_job_duration').val();
var id = $('#input_id').val();
var dat = $('#input_date').val();
var st_time = $('#input_st_time').val();
//Check if scheduling conflict and stop submit if there is a conflict.
$.post("check_for_conflicts.php", { job_duration: duration, provider_id: id, job_date: dat, job_st_time: st_time },
function(data){
console.log(data.status);
if(data.status == 'conflict'){
alert("There is a conflict with this time.")
return false;
}
}, "json"
);
//Continue submit if now scheduled conflicts.
return true;
}
フォームの送信を停止するためのチェックが 2 つあります。2 番目のチェックは、.post 応答に依存します。この部分は、.post が完了する前に最後の「true を返す」にヒットしたため、機能していません。.post レスポンスを使用してフォームの送信を停止するにはどうすればよいですか?