Показать сообщение отдельно
  #1 (permalink)  
Старый 30.06.2024, 20:00
Новичок на форуме
Отправить личное сообщение для Иван_Некрылов Посмотреть профиль Найти все сообщения от Иван_Некрылов
 
Регистрация: 30.06.2024
Сообщений: 3

Доработка кода из библиотеки Tilda
Здравствуйте. Нашёл на сайте тильда который позволяет отправлять данные с форм на webhook, получилось сделать практически всё необходимое для корректной работы, но столкнулся с одной проблемой.
Если на странице есть две разных формы, то для них размещаю два разных кода, в каждом прописано из какой формы получать информацию, но из за условия срабатывания функции при отправке данных с формы, активируется только один из всех размещённых кодов, то есть условно, есть форма1 код1, форма2 код2, и при отправке формы1, срабатывает код2 отправляя пустую форму2. Подскажите пожалуйста как в условии явно указать что бы код реагировал только на срабатывание нужной формы по её имени, или id.

<script>
  function t396_onCuccess(form) {
    if (!form) return;
    if ( (form instanceof jQuery) && (form.name == "form766400775") )
    {
      form = document.forms["form766400775"];
    }

    /* номер заявки (Lead ID) */
    var leadId = form.tildaTranId;
    var orderId = form.tildaOrderId;

    /* Все поля заявки */
    var obj = {};
  var FieldDate = "";
  var FieldAuto = "";
  var FieldNomer = "";
  
    var inputs = form.elements;
    Array.prototype.forEach.call(inputs, function (input) {
     //  obj[input.name] = input.value;
        if(input.name=="Имя")
        {
                  obj["name"] = input.value;
        }
        if(input.name=="Номер телефона")
        {
                  obj["phone"] = input.value.replace(/[-+()\s]/g, '');
        }
       if(input.name=="Date")
        {
            FieldDate ="Дата заезда "+input.value;
        }
          if(input.name=="Input")
        {
            FieldAuto ="Марка автомобиля "+input.value;
        }
           if(input.name=="Input_2")
        {
            FieldNomer ="Номер автомобиля "+input.value;
        }
        
    });
  obj["comment"] = FieldAuto + "\n" + FieldNomer + "\n" + FieldDate;
    console.log(obj);

    /* Отправляем данные POST-запросом */
    var xhr = new XMLHttpRequest();
    xhr.open('POST', 'https://cloud.salon1c.ru/api/hs/lead/Webhook/00bc3320-6048-4b02-bdaf-1fd14c33a016');
    xhr.send(JSON.stringify(obj));
    xhr.onload = function () {
      if (xhr.response) {
        /* Какие-то действия, если данные дошли успешно */
        console.log("Дошло");
        /* Переадресация на страницу успеха */
        var successUrl = form.getAttribute('data-success-url');
        if (successUrl) window.location.href = successUrl;
      }
    };
  }
</script>

Последний раз редактировалось Иван_Некрылов, 01.07.2024 в 11:44.
Ответить с цитированием