Почему бы вам не отменить привязку функции отправки при отправке?Это гарантирует только одну отправку:
$(function() {
$('form').bind('submit', function(event) {
// regular submit form stuff here
...
// and unbind it
$('this').unbind(event);
});
});
Оформление заказа .unbind () в разделе "Использование объекта события"
Или какМэтт Болл указал в комментариях, вы можете использовать .one()
, что эквивалентно приведенному выше.
$(function() {
$('form').one('submit', function(event) { // <== Only executed once
// regular submit form stuff here
...
});
});
Если у вас есть $.post()
или $.get()
отправка формы, привязанной к нескольким событиям / элементам, тогда вам просто нужно обязательно отсоединить обработчик, который в конечном итоге используется внутри себя, используя объект event
, а затем отсоединить также все остальные обработчики,и наоборот для каждого из этих других обработчиков.Вы можете отменить привязку других обработчиков, используя одним из четырех способов отсоединения обработчиков событий .