при успешной отправки заявки
Что подразумевается под "успешной отправкой": отправка заявки, например, на почту или успешное окончание запроса после отправки данных на сервер?
success отвечает за второе, а первая часть, выполняющаяся на сервере, может возвращать ответом на запрос какую-нибудь метку, в зависимости, от результата (те же
true/false
). Что же касается проверки заполнения полей, то к отправке это никакого отношения не имеет. Проверку эту как раз до отправки делать нужно, ну и безоговорочно делать проверку еще и на стороне сервера.
P.S. На всякий случай, чуть больше конкретики:
$(function() {
$('#formx').on('submit', function() {
var empty = $(':text', this).filter(function() {
return $.trim($(this).val()).length < 3;
}).length;
if (empty) {
alert('Хьюстон! У нас проблемы!');
return false;
}
$.ajax({
type: 'POST',
url: '../php/script.php',
data: $(this).serialize(),
success: function(data) {
if (data) {
$('.result').text('Ваша заявка отправлена');
}
},
error: function(xhr, str) {
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
});
});
Убираете эти атрибуты из формы:
action="javascript:void(null);" onsubmit="call()"
.
Это вчерашний день, о котором вспоминать нет смысла. Хотя
action с реальным адресом обработчика, можно и оставить в качестве фолбэка. Проверка полей: "Не меньше трёх символов". С этим условием, да и вообще, алгоритмом валидации, уже сами разберетесь.