В общем, беда в чем: независимо заполнены ли инпуты или нет, срабатывает событие успешной отправки данных и форма скрывается, появляется блок с сообщение об успешной отправки данных. Нужно сделать так, чтобы пустые поля не отправлялись и срабатывал html5 валидация email, прежде чем сработает обработчик. Делается все это дело на wordpress
<div class="form_unisender box-shadow-sidebar">
<h2 class="text-center">Подписка</h2>
<div class="d-flex space-between align-items-center form_unisender_inside">
<div class="d-flex align-items-center">
<img src="'. get_template_directory_uri().'/images/form_precent.png" alt=""><span>Акции и спецпредложения банков и МФК</span>
</div>
<div class="d-flex align-items-center">
<img src="'. get_template_directory_uri().'/images/form_tick.png" alt=""><span>Подписка на изменение кредитного рейтинга</span>
</div>
<div class="d-flex align-items-center">
<img src="'. get_template_directory_uri().'/images/form_play.png" alt=""><span>Полезные статьи, инфографика и видео</span>
</div>
</div>
<div class="d-flex form_unisender_form content-center">
<form id="ajax_form" class="text-center d-flex align-items-center" method="POST" action="">
<input name="unisender_email" class="" type="email" placeholder="Email">
<input name="unisender_name" type="text" placeholder="Имя">
<button id="ajax_form_btn" type="submit" class="search-btn">Подписаться</button>
</form>
</div>
</div>
<div id="ajax_form_success" class="d-flex flex-column text-center">
<img src="'. get_template_directory_uri().'/images/checked_form.png" alt="">
<h2>Спасибо за подписку</h2>
<p>Ваши даные успешно отправлены.</p>
</div>
$( document ).ready(function() {
$("#ajax_form_btn").click(
function(){
sendAjaxForm('result_form', 'ajax_form', 'vik_form.php');
return false;
}
);
});
function sendAjaxForm(result_form, ajax_form, url) {
jQuery.ajax({
beforeSend: function(){
},
url: url,
type: "POST",
dataType: "html",
data: jQuery("#"+ajax_form).serialize(),
success: function(response) { //Данные отправлены успешно
result = jQuery.parseJSON(response);
$('.form_unisender').hide();
$('#ajax_form_success').show();
},
error: function(response) { // Данные не отправлены
document.getElementById(result_form).innerHTML = "Иформация ведена не верно. Проверьте правильность введенных данных и повторите попытку";
},
});
}