Если кнопка используется в форме, то можно использовать событие beforeSubmit.
Что то вроде этого:
Код: Выделить всё
$('#signup-form').on('beforeSubmit', function (e) {
e.preventDefault();
let form = e.currentTarget,
url = form.action,
data = $(this).serialize(),
success = $('.alert-success'),
danger = $('.alert-danger'),
info = $('.alert-info'),
btnSend = $('#btn-signup'),
fieldUsername = $('#signupform-username'),
fieldEmail = $('#signupform-email'),
fieldPassword = $('#signupform-password');
$.ajax({
url: url,
dataType: 'json',
type: 'POST',
data: data,
beforeSend: function (XMLHttpRequest) {
success.css('display', 'none');
danger.css('display', 'none');
info.css('display', 'block');
}
}).done(function (response) {
info.css('display', 'none');
if (response.type == 'success') {
$('.contact-text p').css('display', 'none');
fieldUsername.css('display', 'none');
fieldEmail.css('display', 'none');
fieldPassword.css('display', 'none');
btnSend.prop('disabled', true);
success.css('display', 'block');
success.html(response.message);
} else {
danger.css('display', 'block');
danger.html(response.message);
}
}).fail(function (response) {
console.log(response);
});
return false;
});
Это скрипт выдернут из формы регистрации ajax
Последний раз редактировалось
Dominus 2018.08.30, 14:37, всего редактировалось 1 раз.