PageSourceSearch

https://zemexx.ru/local/templates/zemexx_redisign/js/forms.js

js zemexx.ru collected 2026-09-29 17:55:59 UTC 10,169 bytes, 187 lines download raw bytes

1document.addEventListener ("DOMContentLoaded", function () {
2    document.addEventListener("click",function (e) {
3        if (e.target.closest("form")) {
4          writeData(e.target.closest("form"))
5        }
6    }, true)
7
8    function writeData(f) {
9      var formCm = f;
10      cData = {};
11      //Записаться на просмотр, обсудить, получить консультацию
12      if (formCm.id && formCm.id == "form_6") {
13        if (formCm.querySelector("[name = form_text_67]")) {
14          cData.name = formCm.querySelector("[name = form_text_67]").value;
15        }
16        if (formCm.querySelector("[name = form_text_68]")) {
17          cData.phone = formCm.querySelector("[name = form_text_68]").value;
18        }
19      }
20      //Квиз внизу главной страницы, только форма контактов
21      if (formCm.id && formCm.id == "form_3") {
22        if (formCm.querySelector("[name = form_text_11]")) {
23          cData.name = formCm.querySelector("[name = form_text_11]").value;
24        }
25        if (formCm.querySelector("[name = form_text_12]")) {
26          cData.phone = formCm.querySelector("[name = form_text_12]").value;
27        }
28      }
29      //Задай свой вопрос в разделе контакты
30      if (formCm.id && formCm.id == "form_5") {
31        if (formCm.querySelector("[name = form_text_59]")) {
32          cData.name = formCm.querySelector("[name = form_text_59]").value;
33        }
34        if (formCm.querySelector("[name = form_text_60]")) {
35          cData.phone = formCm.querySelector("[name = form_text_60]").value;
36        }
37        if (formCm.querySelector("[name = form_text_62]")) {
38          cData.email = formCm.querySelector("[name = form_text_62]").value;
39        }
40        cData.message = "";
41        if (formCm.querySelector("[name = form_text_63]")) {
42          cData.message = "Поселок и номер участка: " + formCm.querySelector("[name = form_text_63]").value + " \n";
43        }
44        if (formCm.querySelector("[name = form_textarea_64]")) {
45          cData.message += "Вопрос: " + formCm.querySelector("[name = form_textarea_64]").value;
46        }
47      }
48      //Будьте в курсе событий поселка, в разделе новости, внутри карточки новости
49      if (formCm.id && formCm.id == "form_1") {
50        if (formCm.querySelector("[name = form_text_86]")) {
51          cData.name = formCm.querySelector("[name = form_text_86]").value;
52        }
53        if (formCm.querySelector("[name = form_text_87]")) {
54          cData.phone = formCm.querySelector("[name = form_text_87]").value;
55        }
56        if (formCm.querySelector("[name = form_email_1]")) {
57          cData.email = formCm.querySelector("[name = form_email_1]").value;
58        }
59      }
60      //3 варианта за 1 минуту, в разделе для бизнеса
61      if (formCm.id && formCm.id == "business_plots_contact_form") {
62        if (formCm.querySelector("[name = name]")) {
63          cData.name = formCm.querySelector("[name = name]").value;
64        }
65        if (formCm.querySelector("[name = phone]")) {
66          cData.phone = formCm.querySelector("[name = phone]").value;
67        }
68        cData.message = "";
69        if (formCm.querySelector(".footer-contact-select-trigger")) {
70          cData.message = "Тип объекта: " + formCm.querySelector(".footer-contact-select-value").innerText + " \n";
71        }
72        if (formCm.querySelector(".footer-contact-slider-container")) {
73          cData.message += "Площадь, Га: " + formCm.querySelector(".footer-contact-slider-container").innerText.replace(/\n/g, " ") + " \n";
74        }
75        if (formCm.querySelector(".footer-contact-form__timing-buttons")) {
76          cData.message += "Когда нужен участок: " + formCm.querySelector(".footer-contact-form__timing-button.footer-contact-form__timing-button--active").innerText;
77        }
78      }
79      //Участвуй в акции, в разделе акции, кнопка подать заявку
80      if (formCm.id && formCm.id == "form_8") {
81        if (formCm.querySelector("[name = form_text_88]")) {
82          cData.name = formCm.querySelector("[name = form_text_88]").value;
83        }
84        if (formCm.querySelector("[name = form_text_91]")) {
85          cData.phone = formCm.querySelector("[name = form_text_91]").value;
86        }
87        if (formCm.querySelector("[name = form_text_90]")) {
88          cData.email = formCm.querySelector("[name = form_text_90]").value;
89        }
90        cData.message = "";
91        if (formCm.querySelector("[name = form_text_89]")) {
92          cData.message = "Удобное время для звонка: " + formCm.querySelector("[name = form_text_89]").value + " \n";
93        }
94        if (formCm.querySelector("[name = form_textarea_92]")) {
95          cData.message += "Вопрос: " + formCm.querySelector("[name = form_textarea_92]").value;
96        }
97      }
98      //Консультация, в разделе поселки, выбрав свободный поселок на карте
99      if (formCm.id && formCm.id == "form_5") {
100        if (formCm.querySelector("[name = form_text_59]")) {
101          cData.name = formCm.querySelector("[name = form_text_59]").value;
102        }
103        if (formCm.querySelector("[name = form_text_60]")) {
104          cData.phone = formCm.querySelector("[name = form_text_60]").value;
105        }
106        if (formCm.querySelector("[name = form_text_62]")) {
107          cData.email = formCm.querySelector("[name = form_text_62]").value;
108        }
109        cData.message = "";
110        if (formCm.querySelector("[name = form_text_63]")) {
111          cData.message = "Поселок и номер участка: " + formCm.querySelector("[name = form_text_63]").value + " \n";
112        }
113        if (formCm.querySelector("[name = form_textarea_64]")) {
114          cData.message += "Вопрос: " + formCm.querySelector("[name = form_textarea_64]").value;
115        }
116      }
117      //Поможем с ипотекой — форма из модалки калькулятора ипотеки.
118      //ВАЖНО: Bitrix-форма ID 2 рендерится с HTML-id="VoprosTovar" (а не "form_2"),
119      //поэтому матчим по name="FORM_MORTGAGE" / WEB_FORM_ID=2 — устойчиво при любом id.
120      var isFormMortgage =
121        (formCm.id && formCm.id == "form_2") ||
122        (formCm.name && formCm.name == "FORM_MORTGAGE") ||
123        !!formCm.querySelector('input[name="WEB_FORM_ID"][value="2"]');
124      if (isFormMortgage) {
125        if (formCm.querySelector("[name = form_text_5]")) {
126          cData.name = formCm.querySelector("[name = form_text_5]").value;
127        }
128        if (formCm.querySelector("[name = form_text_6]")) {
129          cData.phone = formCm.querySelector("[name = form_text_6]").value;
130        }
131        cData.message = "";
132        if (formCm.querySelector("[name = form_text_70]")) {
133          var priceVal = formCm.querySelector("[name = form_text_70]").value;
134          if (priceVal) cData.message = "Первоначальный взнос: " + priceVal;
135        }
136      }
137      //Забронировать, в разделе поселки, выбрав свободный поселок на карте
138      if (formCm.id && formCm.id == "form_9") {
139        if (formCm.querySelector("[name = form_text_96]")) {
140          cData.name = formCm.querySelector("[name = form_text_96]").value;
141        }
142        if (formCm.querySelector("[name = form_text_97]")) {
143          cData.phone = formCm.querySelector("[name = form_text_97]").value;
144        }
145        if (formCm.querySelector("[name = form_email_100]")) {
146          cData.email = formCm.querySelector("[name = form_email_100]").value;
147        }
148        cData.message = "";
149        if (formCm.querySelector("[name = form_text_98]")) {
150          cData.message = "Посёлок: " + formCm.querySelector("[name = form_text_98]").value + " \n";
151        }
152        if (formCm.querySelector("[name = form_text_99]")) {
153          cData.message += "Номер участка: " + formCm.querySelector("[name = form_text_99]").value;
154        }
155      }
156      sessionStorage.setItem("curs-form-1", JSON.stringify(cData));
157    }
158    var targetCm = document;
159    var observerCm = new MutationObserver(function(mutations) {
160        mutations.forEach(function(mutation) {
161            //console.log(mutation);
162            if (mutation.type === 'attributes'
163              && mutation.target.className.length
164              && (mutation.target.className.indexOf("hm-quizModal2--div__READY") != -1
165              || mutation.target.className.indexOf("footer-contact-form__success") != -1
166              || mutation.target.className.indexOf("__vp-heroModal2__VISIBLE") != -1
167              || mutation.target.className.indexOf("font__HEADING_SECTION_TIT
167LE") != -1)
168              && (mutation.target.innerText.indexOf("Спасибо за заявку!") != -1
169              || mutation.target.innerText.indexOf("Ваша заявка успешно отправлена! Мы свяжемся с вами в ближайшее время.") != -1
170              || mutation.target.innerText.indexOf("Спасибо за заявку!\n\nВаша заявка принята в обработку. Мы свяжемся с вами в ближайшее время.\n\nПонятно\n\nСледите за нами в соцсетях") != -1)) {
171                //console.log(mutation);
172                if (cData) {
173                    if (window.Comagic
174                      && typeof(Comagic.addOfflineRequest) === "function") {
175                        Comagic.addOfflineRequest(cData, function(resp) {
176                            console.log(resp);
177                        });
178                        console.log(cData);
179                        cData = '';
180                    }
181                }
182            }
183        });
184    });
185    var config = { childList: true, attributes: true, attributeOldValue: true, subtree: true }
186    observerCm.observe(targetCm, config); 
187})

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.