Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.02.2021, 10:48
Аспирант
Отправить личное сообщение для venom1996 Посмотреть профиль Найти все сообщения от venom1996
 
Регистрация: 10.11.2020
Сообщений: 69

Повторное отправление 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 запрос, как сделать что бы его можно было нажать только один раз ? извините за спагетти(
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2021, 11:04
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

Не совсем понятно о чем это?
Пользователь может нажать кнопку снова, пока предыдущий запрос не завершился? Или просто нельзя второй раз нажимать кнопку?
Ну заведите переменную, которая изначально имеет значение false

let sended = false.
При нажатии на кнопку
if (!sended) {
// Отправляем запрос
sended = true;
} else {
// Низя второй раз отправлять! (запрос уже отправлен)
}

Как вариант - вообще убирать кнопку после отправки запроса.

Последний раз редактировалось voraa, 11.02.2021 в 11:06.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбрать id всех select после ajax запроса veltony Events/DOM/Window 4 04.12.2019 14:09
как получить результат от ajax запроса (из отдельного файла) 1Feniks1 AJAX и COMET 0 12.03.2017 18:45
Получить данные из ajax запроса AlexTrader AJAX и COMET 6 25.12.2016 05:25
Проблема с событиями после ajax запроса Mirgorod AJAX и COMET 5 12.06.2010 18:24
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23