Не обязательно ответ, можно и псевдокод, просто в голове не могу связать их. Одну написал (валидация), а её в обработчик нужно засунуть ( не мой) и я впервые сталкиваюсь с аяксом, он просто не дает даже сделать if .. else .. Прошу подзатыльник и спасибо!
Код:
https://codepen.io/AntonBrock/pen/daNWZR?editors=0010
$("#btn_ps").click(function(e) {
e.preventDefault();
var form_data = $("#personalsale").serialize();
$.ajax({
type: "POST",
url: "/index.php?route=common/home/personal_form",
data: form_data,
success: function() {
$("#personal_sale_p").html('<span class="success_alert"><i class="fas fa-check-circle"></i> Вы успешно подписались на рассылку.</span>');
$('#personalsale').trigger( 'reset' );
},
error: function() {
$("#personal_sale_p").html('<span class="success_alert"><i class="fas fa-times-circle"></i> Что-то пошло не так...</span>');
}
});
});
// внедрить в обработчик >_<!
$(document).ready(function() {
$("#email, #Email").blur(function() {
if ($(this).val() != "") {
var pattern = /^(?!.*@.*@.*$)(?!.*@.*\-\-.*\..*$)(?!.*@.*\-\..*$)(?!.*@.*\-$)(.*@.+(\..{1,11})?)$/;
if ($(this).val() != "" && pattern.test($(this).val())) {
$(this).tooltip('disable');
$(this).removeClass("error_message");
$(this).attr('title', '');
$(this).attr('data-original-title', '');
} else {
$(this).tooltip('enable');
$(this).attr('title', '');
$(this).addClass("error_message");
$(this).attr('data-original-title', 'Проверьте введённые данные');
}
}
});
});
// keyUp for tooltip- hide
$(document).ready(function() {
$("#email").keyup(function() {
if($(this).val() == "") {
$(this).tooltip('hide');
}
});
});