как деактивировать кнопку после одного нажатия
Доброго времени суток! Есть одна задача, прошу помощи с решением. При нажатии на кнопку по отправке запроса на сервер выходит alert, который говорит, что сообщение отправлено ну и т.д.. В скрипте установлено время обработки запроса, но он не всегда помогает, особенно если сервер долго грузиться. Т.е. в этот момент пользователь может 30 раз нажать на кнопку и запрос обработается 30 раз и alert тоже выйдет 30 раз. Так вот вопрос: как прописать код, чтобы запрос был только один, или чтобы кнопка после одного нажатия деактвировалась?
Вот сам код:
$(document).ready(function() {
$(".button, .reserve").magnificPopup();
$("#phone").mask("+7(799)999-99-99");
$("#forma").submit(function() {
$.ajax({
type: "POST",
url: "mail.php",
data: $(this).serialize()
}).done(function() {
$(this).find("input").val("");
alert("Спасибо! Ваша заявка принята! Скоро мы с вами свяжемся.");
setTimeout(function() {
$.magnificPopup.close();
}, 1);
$("#forma").trigger("reset");
});
return false;
});
});
|
AnGera,
$(document).ready(function() {
$(".button, .reserve").magnificPopup();
$("#phone").mask("+7(799)999-99-99");
var one;
$("#forma").submit(function() {
if(one) return false;
else one = true;
$.ajax({
type: "POST",
url: "mail.php",
data: $(this).serialize()
}).done(function() {
$(this).find("input").val("");
alert("Спасибо! Ваша заявка принята! Скоро мы с вами свяжемся.");
setTimeout(function() {
$.magnificPopup.close();
}, 1);
$("#forma").trigger("reset");
});
return false;
});
});
|
Спасибо!
Я кстати тоже решил эту задачку. я кнопке задал id=submit и написал :
$(document).ready(function() {
$(".button, .reserve").magnificPopup();
$("#phone").mask("+7(799)999-99-99");
$(".callme").on("click", (function() {
$("#forma").submit(function() {
$('#submit').attr('disabled', true); //добавил это значение
$.ajax({
type: "POST",
url: "mail.php",
data: $(this).serialize()
}).done(function() {
$(this).find("input").val("");
alert("Спасибо! Ваша заявка принята! Скоро мы с вами свяжемся.");
setTimeout(function() {
$.magnificPopup.close();
}, 1);
$("#forma").trigger("reset");
});
return false;
});
}));
});
|
AnGera, устанавливать disabled кнопке до запроса и снимать после.
|
| Часовой пояс GMT +3, время: 02:53. |