我之前問過一個related question,但我現在需要回答的問題現在似乎已經出現了一些特定的切線,所以我認爲最好能提出一個新問題。jquery .submit return false not always working
我試圖阻止表單提交,直到頁面上的所有ajax調用都成功返回。
我對此有一個簡單的測試(開始調用時加1到計數器,成功時減1)。
我相信我應該能夠做到:
// can we submit yet?
$('#checkoutform').submit(function() {
if (ajaxcallcounter == 0) {
return true;
}
return false;
});
防止表單提交,直到計數器達到零(所有呼叫都完成),但由於某種原因,這似乎並沒有100%有效。
我不知道這是一個紅色的鯡魚,但所有從誰管理,以檢查出前調用已經完成了使用Mac的Safari客戶的報告(這可能僅僅是雖然是巧合)
您可以看到代碼正在執行here - 嘗試更改發貨國家以啓動一些ajax呼叫。當計數器> 0時,應該禁用右下角的提交按鈕。
我沒有對您的答案。我會說你在整個代碼中做了大量的'ajaxcallcounter'遞增和遞減操作。您可能會發現有一個增量和減量函數可以被調用。然後你可以做一些簡單的日誌記錄,看看他們何時被調用。 – user113716 2010-03-03 14:25:58
嗨帕特里克,有很多增加和減少,因爲有很多電話! :)我相信他們在正確的時間被調用,但表單被允許提交。 – Ashley 2010-03-05 11:09:10