Всем привет. Подскажите как предотвратить повторную отправку данных при успешном событии? После отправки данных идет задержка 3 секунды, пользователь может отправить форму много раз.
Данный код блокирует отправку формы много раз, в случае ошибки форма так же блокируется.
$('form').submit(function(){
$(this).find('input[type=submit], button[type=submit]').prop('disabled', true);
});
Может быть добавить событие снятие блокировки спустя 3 секунды?
$('form').submit(function(){
$(this).find('input[type=submit], button[type=submit]').prop('disabled', true);
setTimeout(function(){
$('input[type=submit], button[type=submit]').prop('disabled', false);
}, 3000);
});
Сама отправка формы идет по идентификатору
$('#appExchange').submit(function(){
var url = '/ajax.php?action=app&type=exchange';
var balance_user = $('#balance_user').html();
var balance_adver = $('#balance_adver').html();
var data = $(this).serialize()+'&balance_user='+balance_user+'+&balance_adver='+balance_adver+'&ajax=1';
$.post(url, data, function(result){
Toast.fire({icon: result['status'],text: result['text']});
if(result['status'] == 'success'){
// ЗДЕСЬ КАКОЕ-ТО ДЕЙСТВИЕ ДЛЯ ЗАПРЕТА ПОВТОРНОЙ ОТПРАВКИ
$('#balance_user').html(result['balance_user'].toFixed(5));
$('#balance_adver').html(result['balance_adver'].toFixed(5));
}
}, 'json');
return false;
});
Как добавить блокировку повторной формы только при успешной отправке или как правильно вызвать функцию?