私は以下のコードに問題があります。私は提出時に警告をポップアップすることができません。私が働かせる唯一の方法は、$ .getの外に別の警告を挿入することでした。 (あなたはそれを下に見ることができます)。私は私が得るかもしれないどんな助けやガイドラインにも感謝以上のものになるでしょう。
$('#addEvent').submit(function() {
var date = $('#day').val();
var startTime = $('#startTime').val();
$.get("/cal/check-For-Existing-Events/time/"+date+"%20"+startTime+":00/room/1234", function(data) {
if(data == "Error: date") {
alert('Error: This date has expired.');
return false;
}
else if(data == "Error: existing") {
alert('Error: You already have a reservation made on this day.')
return false;
}
else {
return true;
}
});
alert('test'); //If I remove this part, above errors don't work. WTH!?
});
あなたの '$ .get'コールバックの' return'ステートメントは、彼らがやっていると思っていることをしていません - 単純に '$ .get'コールバック関数から戻ってきただけで、サブミットハンドラから戻ってきません。このフォームは、最後の警告を追加する場合を除いて、常に提出される可能性が高くなります。これは、 '$ .get'を実行するのに十分な時間を遅延させます。 –
[フォームを送信する前にajaxの検証が完了するのを待つ方法](http://stackoverflow.com/questions/866654/how-to-wait-for-ajax-validation-to-complete-before- –