Повторное отправление ajax запроса
$(document).ready(function() { $("#save").click(function(e) { e.preventDefault(); var validate = [...document.querySelectorAll('[type="text"]')].every(({value}) => value.trim()); if (validate) { var btn = $(this); var arr = []; $('#table4 .record').each(function() { arr.push({"nameban":$(this).find(".nameban").val(), "numzadoljen":$(this).find(".numzadoljen").val(), "datedogovor":$(this).find(".datedogovor").val(), "dateprosrochen":$(this).find(".dateprosrochen").val(), "summplatcredit":$(this).find(".summplatcredit").val()}); }); BX24.callMethod('crm.deal.list', { filter: { ID: id, }, select: ["CONTACT_ID"] }, function idContact(result) { $.ajax({ method: "POST", url: "main.php", dataType: "html", data: {idContact: result.data(), fio: $('#fio').val(), adresregis: $('#adresregis').val(), id: id, <?=isset($arFields['ID'])?'id_anketa: '.$arFields['ID'].",":''?> famalegirl: $('#famalegirl').val(), adressproj: $('#adressproj').val(), telelich: $('#telelich').val(), email: $('#email').val(), }, beforeSend: function () { $(".loader").fadeIn(); $(".loader_inner").fadeIn(); }, success: function(response) { BX24.callMethod( "crm.lead.update", { id: id, fields: { "UF_CRM_1612683618": response, "UF_CRM_1612946020": 'true' }, params: { "REGISTER_SONET_EVENT": "Y" } }, function(result) { if(result.error()) console.error(result.error()); else { console.log(idAnketPars) console.info(result.data()); } } ); $(".loader").fadeOut(); $(".loader_inner").fadeOut(); }, error: function(er) { console.log(er); } }); } ) }else{ alert('Все поля должны быть обязательно заполнены !!!!!!!') }}) }); при повторной отправке, отправляется ajax запрос, как сделать что бы его можно было нажать только один раз ? извините за спагетти( |
Не совсем понятно о чем это?
Пользователь может нажать кнопку снова, пока предыдущий запрос не завершился? Или просто нельзя второй раз нажимать кнопку? Ну заведите переменную, которая изначально имеет значение false let sended = false. При нажатии на кнопку if (!sended) { // Отправляем запрос sended = true; } else { // Низя второй раз отправлять! (запрос уже отправлен) } Как вариант - вообще убирать кнопку после отправки запроса. |
Часовой пояс GMT +3, время: 18:43. |