Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.07.2019, 20:55
Новичок на форуме
Отправить личное сообщение для AnGera Посмотреть профиль Найти все сообщения от AnGera
 
Регистрация: 03.04.2019
Сообщений: 4

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


});
Ответить с цитированием
  #2 (permalink)  
Старый 26.07.2019, 23:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,518

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;
	});


});
Ответить с цитированием
  #3 (permalink)  
Старый 26.07.2019, 23:39
Новичок на форуме
Отправить личное сообщение для AnGera Посмотреть профиль Найти все сообщения от AnGera
 
Регистрация: 03.04.2019
Сообщений: 4

Спасибо!
Я кстати тоже решил эту задачку.
я кнопке задал 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;
         });

    }));


});
Ответить с цитированием
  #4 (permalink)  
Старый 26.07.2019, 23:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 10,645

AnGera, устанавливать disabled кнопке до запроса и снимать после.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать плавный переход к блоку после действия .trigger('click')? NeXan jQuery 9 07.10.2017 23:27
как отображать результаты скрипта немедленно, а не после завершения всей функции? sitar32 Элементы интерфейса 6 28.08.2014 17:27
как по клику на кнопку получить отмеченный объект pirat9629 ExtJS 0 19.08.2014 10:49
Как отобразить img только после загрузки всего изображения overdrive Общие вопросы Javascript 6 06.11.2012 18:02
Как деактивировать кнопку "закрыть" браузера NavyD Events/DOM/Window 3 26.08.2008 19:40