1// ============================================================ 2// ФÑнкÑÐ¸Ñ Ð¾ÑпÑавки ÑоÑÐ¼Ñ Ñ Ñокеном (иÑпÑавлена: дÑблиÑование Ñокена, ÑÑÑÑкие ÑообÑениÑ) 3// ============================================================ 4 5function sendFormWithCaptcha(form, token) { 6 console.log('sendFormWithCaptcha вÑзвана Ð´Ð»Ñ ÑоÑмÑ:', form); 7 8 if (!form || !form.tagName || form.tagName !== 'FORM') { 9 console.error('ÐевеÑнÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÑоÑмÑ'); 10 alert('ÐÑоизоÑла оÑибка. ÐожалÑйÑÑа, попÑобÑйÑе Ñнова.'); 11 return; 12 } 13 14 // ---- ÐпÑеделÑем URL Ð´Ð»Ñ Ð¾ÑпÑавки на оÑнове клаÑÑа/ID ---- 15 var action = $(form).attr('action'); 16 if (!action || action === '#' || action === '') { 17 if ($(form).hasClass('send_feedback_form')) { 18 action = '/send_form_1.php'; 19 } else if ($(form).is('#qualityDepartmentFeedbackForm')) { 20 action = '/form_handlers/qualityDepartmentFeedback.php'; 21 } else if ($(form).hasClass('event_register_form')) { 22 action = '/send_form_event.php'; 23 } else { 24 action = window.location.href; 25 } 26 } 27 // --------------------------------------------------------- 28 29 // ÐÑполÑзÑем FormData, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð´ÑблиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñокена 30 var formData = new FormData(form); 31 // УдалÑем вÑе Ð¿Ð¾Ð»Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ 'smart-token' (еÑли они Ñже еÑÑÑ) 32 formData.delete('smart-token'); 33 // ÐобавлÑем Ð½Ð°Ñ Ñокен 34 formData.append('smart-token', token); 35 36 sendForm(action, form, formData); 37} 38 39function sendForm(action, form, formData) { 40 var loader = '/local/templates/softline/assets/images/loadingwhite.gif'; 41 var $linkRed = $(form).find('.link-red'); 42 if ($linkRed.length) { 43 $linkRed.after('<p id="loading_span_wait"><img src="' + loader + '" alt="ÐÑпÑавка..." style="margin-right: 0.5em;" /> ÐÑпÑавлÑем запÑоÑ...</p>'); 44 } else { 45 $(form).append('<p id="loading_span_wait"><img src="' + loader + '" alt="ÐÑпÑавка..." style="margin-right: 0.5em;" /> ÐÑпÑавлÑем запÑоÑ...</p>'); 46 } 47 48 $(form).find('input, textarea, .registration__subtitle, .vacancy__bottom, .custom-select').slideUp(); 49 $(form).find('.link-red').slideUp(); 50 51 $.ajax({ 52 type: 'POST', 53 url: action, 54 data: formData, 55 processData: false, 56 contentType: false, 57 dataType: 'text', 58 timeout: 10000, 59 success: function(responseText) { 60 console.log('ÐÑÐ²ÐµÑ ÑеÑвеÑа (ÑÑÑой):', responseText); 61 62 // Ðазовое ÑообÑение по ÑмолÑÐ°Ð½Ð¸Ñ â Ð´Ð»Ñ ÑоÑÐ¼Ñ "СвÑжиÑеÑÑ Ñо мной" 63 var defaultThankYou = '<p style="font-size: 2rem;">ÐлагодаÑим ÐÐ°Ñ Ð·Ð° ÑделаннÑй запÑÐ¾Ñ Ð½Ð° ÑайÑе компании Softline! Ðн пÑинÑÑ Ð² ÑабоÑÑ.<br>РближайÑее вÑÐµÐ¼Ñ Ñ Ðами ÑвÑжеÑÑÑ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ð¸ Softline.<br><br><br></p>'; 64 // ÐÐ»Ñ ÑоÑÐ¼Ñ ÑегиÑÑÑаÑии на меÑопÑиÑÑие â ÑÐ²Ð¾Ñ ÑообÑение 65 if ($(form).hasClass('event_register_form')) { 66 defaultThankYou = '<p style="font-size: 2rem;">ÐаÑа заÑвка пÑинÑÑа на ÑаÑÑмоÑÑение.</p>'; 67 } 68 69 var thankYou = defaultThankYou; 70 var fileLink = ''; 71 72 try { 73 var msg = JSON.parse(responseText); 74 if (msg && msg.THANKYOU) { 75 thankYou = '<p>' + msg.THANKYOU + '</p>'; 76 } 77 if (msg && msg.FILE) { 78 fileLink = '<p style="margin-top: 1em"><a href="' + msg.FILE + '" target="_blank">СкаÑаÑÑ Ð¼Ð°ÑеÑиалÑ</a></p>'; 79 } 80 } catch (e) { 81 if (responseText && responseText.trim().length > 0) { 82 thankYou = '<p>' + responseText + '</p>'; 83 } 84 console.warn('ÐÑÐ²ÐµÑ Ð½Ðµ ÑвлÑеÑÑÑ Ð²Ð°Ð»Ð¸Ð´Ð½Ñм JSON, иÑполÑзÑем как ÑекÑÑ.'); 85 } 86 87 $(form).find('#loading_span_wait').html(thankYou + fileLink); 88 89 let yandex_target_id = $(form).find('.yandex_target_id'); 90 if (yandex_target_id) { 91 ym(45135768, 'reachGoal', yandex_target_id); 92 } 93 }, 94 error: function(xhr, status, error) { 95 console.error('ÐÑибка AJAX:', status, error); 96 console.error('ТекÑÑ Ð¾ÑвеÑа:', xhr.responseText); 97 var errorMsg = '<p><b>ÐÑибка</b> пÑи оÑпÑавке запÑоÑа, пожалÑйÑÑа, попÑобÑйÑе еÑе Ñаз.</p>'; 98 if (xhr.responseText && xhr.responseText.trim().length > 0) { 99 try { 100 var errObj = JSON.parse(xhr.responseText); 101 if (errObj && errObj.message) { 102 errorMsg = '<p><b>ÐÑибка:</b> ' + errObj.message + '</p>'; 103 } 104 } catch (e) { 105 errorMsg = '<p><b>ÐÑибка:</b> ' + xhr.responseText + '</p>'; 106 } 107 } 108 $(form).find('#loading_span_wait').html(errorMsg); 109 } 110 }); 111} 112 113// ============================================================ 114// ÐбÑабоÑÑики оÑпÑавки ÑоÑм (Ñ ÑÑÑÑкими ÑообÑениÑми) 115// ============================================================ 116 117$(document).ready(function () { 118 119 // ---------- Inputmask (без изменений) ---------- 120 if ($('input[type="tel"]').length > 0) { 121 $('input[type="tel"]').inputmask("+7(999)999-99-99", { 122 onincomplete: function () { 123 if ($(this).val() !== "") { 124 alert("ÐожалÑйÑÑа, введиÑе коÑÑекÑнÑй Ð½Ð¾Ð¼ÐµÑ ÑелеÑона"); 125 $(this).css("borderColor", "#d10000"); 126 } 127 console.log($(this).val()); 128 }, 129 oncomplete: function () { 130 $(this).css("borderColor", "#c1c1c1"); 131 } 132 }); 133 134 if (window.location.href.indexOf('softline_security_day_effektivnye_resheniya_dly
134a_globalnykh_vyzovov_03_10_2025') !== -1) { 135 $('.event_register_form input[type="tel"]').addClass('uzb2'); 136 $('input[type="tel"].uzb2').inputmask({ 137 mask: ["+7(999)999-99-99", "+998(99)999-99-99"], 138 placeholder: "", 139 showMaskOnFocus: false, 140 showMaskOnHover: false, 141 keepStatic: false, 142 jitMasking: true, 143 clearMaskOnLostFocus: false, 144 onincomplete: function () { 145 if ($(this).val() !== "") { 146 alert("ÐожалÑйÑÑа, введиÑе коÑÑекÑнÑй Ð½Ð¾Ð¼ÐµÑ ÑелеÑона"); 147 $(this).css("borderColor", "#d10000"); 148 } 149 console.log($(this).val()); 150 }, 151 oncomplete: function () { 152 $(this).css("borderColor", "#c1c1c1"); 153 } 154 }); 155 } 156 157 $('input[type="tel"].uzb').inputmask({ 158 mask: ["+7(999)999-99-99", "+998(99)999-99-99"], 159 placeholder: "", 160 showMaskOnFocus: false, 161 showMaskOnHover: false, 162 keepStatic: false, 163 jitMasking: true, 164 onincomplete: function () { 165 if ($(this).val() !== "") { 166 alert("ÐожалÑйÑÑа, введиÑе коÑÑекÑнÑй Ð½Ð¾Ð¼ÐµÑ ÑелеÑона"); 167 $(this).css("borderColor", "#d10000"); 168 } 169 console.log($(this).val()); 170 }, 171 oncomplete: function () { 172 $(this).css("borderColor", "#c1c1c1"); 173 } 174 }); 175 } 176 177 // ---------- РегиÑÑÑаÑÐ¸Ñ Ð½Ð° меÑопÑиÑÑие (Ñ ÐºÐ°Ð¿ÑÑей) ---------- 178 $("body").on("submit", ".event_register_form", function (e) { 179 e.preventDefault(); 180 console.log('ÐÑпÑавка .event_register_form'); 181 182 // ÐÑовеÑка ÑоглаÑÐ¸Ñ 183 if (!$('#mainpolicy').is(":checked")) { 184 $("#mainpolicy_element").addClass("must_sign"); 185 console.log('Ð§ÐµÐºÐ±Ð¾ÐºÑ Ð½Ðµ оÑмеÑен'); 186 return false; 187 } 188 189 var action = window.location.href; 190 var formData = new FormData(this); 191 sendForm('/send_form_event.php', this, formData); 192 193 // // ÐÑли Ñокен Ñже еÑÑÑ â оÑпÑавлÑем ÑÑÐ°Ð·Ñ 194 // if (window.captchaToken) { 195 // console.log('Токен Ñже еÑÑÑ, оÑпÑавлÑем ÑÑазÑ'); 196 // sendFormWithCaptcha(this, window.captchaToken); 197 // return; 198 // } 199 // 200 // // ÐнаÑе ÑÐ¾Ñ ÑанÑем ÑоÑÐ¼Ñ Ð¸ запÑÑкаем капÑÑÑ 201 // console.log('Токена неÑ, вÑполнÑем капÑÑÑ'); 202 // window.pendingForm = this; 203 // 204 // if (typeof window.smartCaptcha !== 'undefined' && widgetId !== undefined) { 205 // window.smartCaptcha.execute(widgetId); 206 // console.log('ÐапÑÑа вÑполнена Ð´Ð»Ñ .event_register_form, ожидаем Ñокен'); 207 // } else { 208 // alert('СеÑÐ²Ð¸Ñ ÐºÐ°Ð¿ÑÑи недоÑÑÑпен. ÐопÑобÑйÑе позже.'); 209 // window.pendingForm = null; 210 // } 211 }); 212 213 // ---------- ÐодпиÑка ---------- 214 $("body").on("submit", "#subscribe__form", function (e) { 215 e.preventDefault(); 216 if ($(this).data('submitting')) return false; 217 if (!$('#subscribe_policycheckbox').is(":checked")) return false; 218 $(this).data('submitting', true); 219 var formData = $(this).serialize(); 220 $("#subscribe__form").slideUp(); 221 $("#subscribe__form").after('<p style="font-size: 2rem; color: #fff;">СпаÑибо за подпиÑкÑ!</p>'); 222 $.ajax({ 223 type: "POST", 224 url: "/send_form_2.php", 225 data: formData, 226 success: function (msg) { 227 console.log("OK"); 228 229 let yandex_target_id = $(form).find('.yandex_target_id'); 230 if (yandex_target_id) { 231 ym(45135768, 'reachGoal', yandex_target_id); 232 } 233 234 var email = $("#subscribe__form input[name='EMAIL']").val(); 235 var name = $("#subscribe__form input[name='NAME']").val(); 236 mindbox("async", { 237 operation: "Website.SubscribeMain", 238 data: { customer: { email: email, firstName: name } }, 239 onSuccess: function() { console.log("Mindbox: даннÑе ÑÑпеÑно оÑпÑавленÑ"); }, 240 onError: function(error) { console.log("Mindbox оÑибка:", error); } 241 }); 242 }, 243 error: function (msg2) { 244 console.log(msg2); 245 $("#subscribe__form").data('submitting', false); 246 }, 247 timeout: 10000, 248 complete: function() { 249 $("#subscribe__form").data('submitting', false); 250 } 251 }); 252 }); 253 254 // ---------- ÐодпиÑка Ð´Ð»Ñ Ð¸Ð½Ð²ÐµÑÑоÑов ---------- 255 $("body").on("submit", "#investors_subscribe_form", function (e) { 256 e.preventDefault(); 257 var formData = $(this).serialize(); 258 $("#investors_subscribe_form").slideUp(); 259 $("#investors_subscribe_form").after('<p style="font-size: 2rem; color: #fff;">СпаÑибо за Ñо, ÑÑо подпиÑалиÑÑ Ð½Ð° наÑи новоÑÑи!<br /><br /><br /></p>'); 260 $.ajax({ 261 type: "POST", 262 url: "/send_form_2.php", 263 data: formData, 264 success: function (msg) { 265 let yandex_target_id = $(form).find('.yandex_target_id'); 266 if (yandex_target_id) { 267 ym(45135768, 'reachGoal', yandex_target_id); 268 } 269 console.log("OK"); 270 }, 271 error: function (msg2) { console.log(msg2); }, 272 timeout: 10000 273 }); 274 }); 275 276 // ---------- ФоÑма "СвÑжиÑеÑÑ Ñо мной" (Ñ ÐºÐ°Ð¿ÑÑей) ---------- 277 $("body").on("submit", ".send_feedback_form", function (e) { 278 e.preventDefault(); 279 console.log('ÐÑпÑавка .send_feedback_form'); 280 281 var $checkbox = $(this).find('#policycheckbox'); 282 if (!$checkbox.is(":checked")) { 283 $checkbox.addClass("must_sign"); 284 console.log('Ð§ÐµÐºÐ±Ð¾ÐºÑ Ð½Ðµ оÑмеÑен'); 285 return false;
286 } 287 288 if (window.captchaToken) { 289 console.log('Токен Ñже еÑÑÑ, оÑпÑавлÑем ÑÑазÑ'); 290 sendFormWithCaptcha(this, window.captchaToken); 291 return; 292 } 293 294 console.log('Токена неÑ, вÑполнÑем капÑÑÑ'); 295 window.pendingForm = this; 296 297 if (typeof window.smartCaptcha !== 'undefined' && widgetId !== undefined) { 298 window.smartCaptcha.execute(widgetId); 299 console.log('ÐапÑÑа вÑполнена Ð´Ð»Ñ .send_feedback_form, ожидаем Ñокен'); 300 } else { 301 alert('СеÑÐ²Ð¸Ñ ÐºÐ°Ð¿ÑÑи недоÑÑÑпен. ÐопÑобÑйÑе позже.'); 302 window.pendingForm = null; 303 } 304 }); 305 306 // ---------- ФоÑма ÐÑдела ÐонÑÑÐ¾Ð»Ñ ÐаÑеÑÑва (Ñ ÐºÐ°Ð¿ÑÑей) ---------- 307 $("body").on("submit", "#qualityDepartmentFeedbackForm", function (e) { 308 e.preventDefault(); 309 console.log('ÐÑпÑавка #qualityDepartmentFeedbackForm'); 310 311 var $checkbox = $(this).find('#qualityDepartmentFeedbackPolicycheckbox'); 312 if (!$checkbox.is(":checked")) { 313 console.log("Ð§ÐµÐºÐ±Ð¾ÐºÑ Ð½Ðµ оÑмеÑен"); 314 return false; 315 } 316 317 if (window.captchaToken) { 318 console.log('Токен Ñже еÑÑÑ, оÑпÑавлÑем ÑÑазÑ'); 319 sendFormWithCaptcha(this, window.captchaToken); 320 return; 321 } 322 323 console.log('Токена неÑ, вÑполнÑем капÑÑÑ'); 324 window.pendingForm = this; 325 326 if (typeof window.smartCaptcha !== 'undefined' && widgetId !== undefined) { 327 window.smartCaptcha.execute(widgetId); 328 console.log('ÐапÑÑа вÑполнена Ð´Ð»Ñ #qualityDepartmentFeedbackForm, ожидаем Ñокен'); 329 } else { 330 alert('СеÑÐ²Ð¸Ñ ÐºÐ°Ð¿ÑÑи недоÑÑÑпен. ÐопÑобÑйÑе позже.'); 331 window.pendingForm = null; 332 } 333 }); 334 335 // ---------- ÐнкеÑа IT-ÑÐºÐ¾Ð»Ñ (без капÑÑи) ---------- 336 $("body").on("submit", "#it_school_feedback_form", function (e) { 337 e.preventDefault(); 338 var formData = $(this).serialize(); 339 $("#it_school_feedback_form").slideUp(); 340 $.ajax({ 341 type: "POST", 342 url: "/it-school", 343 data: formData, 344 success: function (msg) { 345 $("#it_school_feedback_form").after('<p style="font-size: 2rem; color: #5d5b5b; padding-left: 4rem;">ÐнкеÑа оÑпÑавлена!</p>'); 346 let yandex_target_id = $(form).find('.yandex_target_id'); 347 if (yandex_target_id) { 348 ym(45135768, 'reachGoal', yandex_target_id); 349 } 350 console.log("OK"); 351 }, 352 error: function (msg2) { 353 $("#it_school_feedback_form").after('<p style="font-size: 2rem; color: #5d5b5b; padding-left: 4rem;">ÐÑибка пÑи оÑпÑавке анкеÑÑ!</p>'); 354 console.log(msg2); 355 }, 356 timeout: 10000 357 }); 358 }); 359 360}); // ÐºÐ¾Ð½ÐµÑ $(document).ready()
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.