[name = AddClientSubmit] ...是表單上的「submit」按鈕。jQuery Click - POST/GET return success'返回值
$ .POST發送表單數據,並且發佈腳本返回一個帶有錯誤消息的json響應。
如果沒有錯誤消息,我希望將click函數返回爲true,以便表單被提交,並在出現錯誤時返回false。
下面我的腳本問題是javascript不會等待$ .POST完全完成,並且submitForm值從不設置,因此表單會自動提交。
$('[name="addClientSubmit"]').click(function() {
var submitForm = false;
var buttonObj = $(this);
buttonObj.hide();
$.post(
'/jquery/scripts/contacts_clientAddEdit.php',
$('#addClientForm').serialize(),
function(json) {
if(json.error == '') {
submitForm = 'yes';
} else {
jAlert(json.error, 'Error', function() {
buttonObj.show();
});
submitForm = 'no';
}
},
'json'
);
if(submitForm == 'yes') { return true; }
if(submitForm == 'no') { return false; }
});
不幸的是事物的方式是建立這個「新客戶」的形式在幾個不同的管理部分中使用。表單提交後,每個管理部分都會將用戶重定向到其他頁面。所以基本上這個AJAX調用只是通過POST驗證表單。我希望有另一個工作。我想我可以通過管理部分類型,只是返回POST成功函數可以處理的重定向URL。 – bbullis
「我想我可以通過管理部分類型,只是返回POST成功函數可以處理的重定向URL。」我認爲,「我猜」你認爲這可能是一種黑客攻擊,但我向你保證它不是。服務器端重定向仍然會將URL返回給客戶端,它只是由瀏覽器自動處理。讓這個機制被javascript處理沒有什麼根本性的錯誤。 –
感謝您的幫助!我並不認爲這是一種破解,我只是一直在這個項目上工作很長時間,所以我希望我的第一個思考過程是正確的答案,因爲我沒有改變/重新編碼事物的心情。 – bbullis