как деактивировать кнопку после одного нажатия
Доброго времени суток! Есть одна задача, прошу помощи с решением. При нажатии на кнопку по отправке запроса на сервер выходит 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, время: 10:39. |