[name = AddClientSubmit] ... это кнопка «отправить» в форме.
$ .POST отправляет данные форм, а сценарий post возвращает ответ json с сообщением об ошибке.
Если сообщения об ошибке нет, я хочу вернуть функцию щелчка как 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; }
});