因為ajax是異步的,所以按照常規的寫法,即使驗證返回了false,表單也會被submit。
需要進行如下設置
function checkDate() { var result = true; //定義返回標識 $.ajax({ async: false, //設置為同步 type: "post", url: "/Mall/Channel/CheckChannelDate", data: { startDate: $("#PayStartTime").val() }, success: function (data) { if (data != 'ok') { alert(data); result = false } } }); return result; //在ajax方法外層返回true or false }