PageSourceSearch

https://uniform-met.ru/local/templates/uniform_met/components/bitr…/request_call_contacts/script.js

js uniform-met.ru collected 2026-10-02 18:57:07 UTC 2,658 bytes, 78 lines download raw bytes

1$(function(){
2	if($(".request-call-contacts").length>0) {
3		$("body").on("focus", ".request-call-contacts .error", function() {
4			$(this).removeClass('error');
5			return false;
6		});
7		$("body").on('click', ".request-call-contacts .button", function () {
8
9			var error = 0;
10
11			var form = $(this).parents("form");
12			// Заявка уже отправляется — повторный клик не дублирует её.
13			if (form.data('ufBusy')) {
14				return false;
15			}
16			var widgetId = $(form).find('.g-recaptcha').attr('captcha-id');
17			var response = grecaptcha.getResponse(widgetId);
18			if(response.length == 0) {
19				error++;
20				alert('Вы не прошли проверку CAPTCHA должным образом');
21				return false;
22			}
23			var resultMessage = $(".request-call-contacts").find(".message");
24			var loader = $(".request-call-contacts").find(".loader");
25			form.find("input, textarea").each(function() {
26				if ($(this).hasClass('required')) {
27					if($(this).val().length == 0 || ($(this).attr('data-name') == 'phone' && $(this).val().length <= 13)) {
28						error++;
29						$(this).addClass('error');
30					}
31				}
32			});
33			if (error == 0) {
34				$.ajax({
35					type: "post",
36					url: '/local/templates/uniform_met/ajax/connector.php',
37					data: {
38						'act': 'request_call_contacts',
39						'form_text_4': form.find("input[name='form_text_4']").val(),
40						'form_text_5': form.find("input[name='form_text_5']").val(),
41						'form_text_6': form.find("input[name='form_text_6']").val(),
42						'form_textarea_7': form.find("textarea[name='form_textarea_7']").val(),
43						'web_form_submit': "Y",
44						'WEB_FORM_ID': form.find("input[name='WEB_FORM_ID']").val(),
45						'sessid': form.find("input[name='sessid']").val(),
46						// Токен своего виджета, а не первого на странице с тем же id.
47						'g-recaptcha-response': response,
48					},
49					beforeSend: function () {
50						form.data('ufBusy', true);
51						loader.fadeIn(300);
52					},
53					complete: function () {
54						form.data('ufBusy', false);
55					},
56					success: function (response) {
57						loader.fadeOut(600);
58						var result = ufLegacyForms.result(response);
59						if (!result.ok) {
60							ufLegacyForms.showError(null, result.error);
61							grecaptcha.reset(widgetId);
62							return;
63						}
64						ufLegacyForms.goal("callback");
65						ufLegacyForms.ga("send", "event", "callback", "done");
66						ufLegacyForms.clear(form);
67						resultMessage.fadeIn();
68						setTimeout(function(){
69							resultMessage.fadeOut(600);
70							grecaptcha.reset(widgetId);
71						}, 4000);
72					}
73				});
74			}
75			return false;
76		});
77	}
78});

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.