Javascript.RU

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

Как ограничить количество нажатий на кнопку до 1 раза
Доброго времени суток! Есть одна задача, прошу помощи с решением. При нажатии на кнопку по отправке запроса на сервер выходит alert, который говорит, что сообщение отправлено ну и т.д.. В скрипте установлено время обработки запроса, но он не всегда помогает, особенно если сервер долго грузиться. Т.е. в этот момент пользователь может 30 раз нажать на кнопку и запрос обработается 30 раз и alert тоже выйдет 30 раз. Так вот вопрос: как прописать код, чтобы запрос был только один. Пробовал разное кто что советует, но ничего не помогло.
Вот сам код:
$(document).ready(function() {

	$(".button, .reserve").magnificPopup();

	$("#phone").mask("+7(799)999-99-99");

	$(".count_element").on("click", (function() {
		ga("send", "event", "goal", "goal");
		yaCounterXXXXXXXX.reachGoal("goal");

	}));

        $("#forma").submit(function() {

		$.ajax({
			type: "POST",
			url: "mail.php",
			data: $(this).serialize()
		}).done(function() {
			$(this).find("input").val("");
			alert("Спасибо! Ваша заявка принята! Скоро мы с вами свяжемся.");
			setTimeout(function() {
				$.magnificPopup.close();
			}, 5);
			$("#forma").trigger("reset");
			
		});
		return false;
	});


});


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

так это на джаваскрипте. А как правильно написать, чтобы сделать неактивной кнопку?
Ответить с цитированием
  #3 (permalink)  
Старый 27.07.2019, 23:55
Новичок на форуме
Отправить личное сообщение для BUBU Посмотреть профиль Найти все сообщения от BUBU
 
Регистрация: 23.02.2019
Сообщений: 2

У вас там лишняя скобка у функции...
$(".count_element").on("click", function() {
  $(this).prop('disabled', true); // prop() - от англ. property, свойство
  ga("send", "event", "goal", "goal");
  yaCounterXXXXXXXX.reachGoal("goal");
});

А потом, когда придет ответ от сервера, в конце функции-ответа дописать
$(".count_element").prop('disabled', false);

P.s.

Сообщение от Русский Посмотреть сообщение
В жидоскрипте нету встроенной функции "$".
jQuery-то...

Последний раз редактировалось BUBU, 27.07.2019 в 23:57.
Ответить с цитированием
  #4 (permalink)  
Старый 28.07.2019, 16:11
Аватар для AntonMs
Профессор
Отправить личное сообщение для AntonMs Посмотреть профиль Найти все сообщения от AntonMs
 
Регистрация: 25.01.2015
Сообщений: 163

Кнопка.disabled = false; //Не активная кнопка
Кнопка.disabled = true; //Активная кнопка

//Или через свойство CSS:

Кнопка.style.pointerEvents = 'none';//Не активная кнопка
Кнопка.style.pointerEvents = 'auto';//Активная кнопка
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ограничить количество конкретного символа Vardges jQuery 5 20.09.2017 17:16
Как создать кнопку, чтобы она удаляла кусок кода? Djambulat Angular.js 1 10.07.2017 15:11
Как обновить количество товаров в корзине без перезагрузки? giwuf jQuery 0 16.05.2017 12:19
как по клику на кнопку получить отмеченный объект pirat9629 ExtJS 0 19.08.2014 11:49
Как ограничить работу скрипта, чтобы он выполнялся локально? Netot Я не знаю javascript 5 04.06.2009 20:03