Задать вопрос
@mrzgt

Как сделать onclick что бы срабатывало один раз?

есть функция, как можно поправить что бы при нажатии кнопки отправить(#submit) несколько раз, если подвисает сервер, не отправлялась повторная информация

$(document).ready(function() {
$(document).on("click", '#submit', function() {
$.ajax({
url: '',
type: 'post',
dataType: 'json',
data: $(''),
success: function (data) {
			}
		});
	});
$('.call').bind('click', function(){
$.magnificPopup.open({
items: {
src: ''
},
type: 'ajax'
		});
	});
});
  • Вопрос задан
  • 232 просмотра
Подписаться 1 Оценить 1 комментарий
Решения вопроса 2
crazy_leo
@crazy_leo
Frontend Developer
$(document).ready(function() {
var clicked = false
$(document).on("click", '#submit', function() {
!clicked && $.ajax({
url: '',
type: 'post',
dataType: 'json',
data: $(''),
success: function (data) {
      }
    });

clicked = true
  });
});
Ответ написан
Комментировать
devellopah
@devellopah
думаю, что при нажатии кнопки submit нужно "отключить кнопку" до тех пор пока не придёт ответ с сервера(не важно success или error), а затем "включить обратно".

Здесь я набросал пример https://jsbin.com/mewibo/edit?js,output
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ShadowOfCasper
@ShadowOfCasper
Middle User Interface Web Developer
Я просто оставлю это здесь
api.jquery.com/one
Ответ написан
Комментировать
@forgetable
Node/Flutter/C++
Если в итоге придётся делать без костылей, то самый простой способ - завести переменную, в которой отображать текущий статус ajax-запроса.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы