PageSourceSearch

https://eelos.ru/bitrix/components/api/main.feedback/js/_fn.js?15650056907507

js eelos.ru collected 2026-10-04 23:57:00 UTC 7,507 bytes, 214 lines download raw bytes

1/**
2 * Created by Tuning-Soft on 16.02.2014
3 */
4$(function(){
5
6    // значение по умолчанию
7    var defaults = { color:'#FB4D4D' };
8
9    // актуальные настройки, глобальные
10    var options;
11
12    $.fn.validateMainFeedback = function(params){
13        // при многократном вызове функции настройки будут сохранятся, и замещаться при необходимости
14        options = $.extend({}, defaults, options, params);
15        //console.log(this); // jQuery
16        //console.log(this.length); // число элементов
17
18        var formObj = this;
19        var error = false;
20        var ts_field = '[class*="ts-field-"]';
21        var ts_field_error = '<span class="ts-field-error"></span>';
22        var ts_field_saccess = '<span class="ts-field-saccess"></span>';
23        var input_required = 'input.required';
24
25        //Проверка отправки формы
26        $(formObj).find(':submit').click(function(e){
27            //input[type="text"]
28            $(formObj).find(input_required).each(function(i){
29
30                if( $(this).val() == '')
31                {
32                    $(this).next(ts_field).remove();
33                    $(this).after(ts_field_error);
34					$(this).addClass("error-empty-field");
35					if( error != true) $(this).focus();
36                    error = true;
37                }
38                else
39                {
40                    $(this).next(ts_field).remove();
41                    $(this).after(ts_field_saccess);
42                    error = false;
43					$(this).removeClass("error-empty-field");
44                }
45
46
47                if(error)
48                    e.preventDefault();
49            });
50            //Проверка при изменении полей
51            $(formObj).find('input.required').on('keyup change', function(e){
52                if($(this).val() != '')
53                {
54                    $(this).next(ts_field).remove();
55                    $(this).after(ts_field_saccess);
56                    error = false;
57					$(this).removeClass("error-empty-field");
58                }
59                else
60                {
61                    $(this).next(ts_field).remove();
62                    $(this).after(ts_field_error);
63                    error = true;
64					$(this).addClass("error-empty-field");
65					if( error != true) $(this).focus();
66                }
67
68                if(error)
69                    e.preventDefault();
70            });
71            //\\input[type="text"]
72
73            //textarea
74            $(formObj).find('textarea.required').each(function(){
75                if($(this).val() == '')
76                {
77                    //css('border-color', options.color)
78                    $(this).parent().find(ts_field).remove();
79                    $(this).after(ts_field_error);
80					$(this).addClass("error-empty-field");
81					if( error != true) $(this).focus();
82                    error = true;
83                }
84                else
85                {
86                    $(this).parent().find(ts_field).remove();
87                    $(this).after(ts_field_saccess);
88                    error = false;
89					$(this).removeClass("error-empty-field");
90                }
91
92                if(error)
93                    e.preventDefault();
94
95            });
96            //Проверка при изменении полей
97            $(formObj).find('textarea.required').on('keyup click change',function(e){
98                if($(this).val() != '')
99                {
100                    $(this).parent().find(ts_field).remove();
101                    $(this).after(ts_field_saccess);
102                    error = false;
103					$(this).removeClass("error-empty-field");
104                }
105                else
106                {
107                    $(this).parent().find(ts_field).remove();
108                    $(this).after(ts_field_error);
109					$(this).addClass("error-empty-field");
110					if( error != true) $(this).focus();
111                    error = true;
112                }
113
114                if(error)
115                    e.preventDefault();
116            });
117            //\\textarea
118
119            //select
120            $(formObj).find('select.required').each(function(){
121                if($(this).find('option:selected').length == 0)
122                {
123                    //css('border-color', options.color)
124                    $(this).parent().find(ts_field).remove();
125                    $(this).after(ts_field_error);
126                    error = true;
127                }
128                else
129                {
130                    $(this).parent().find(ts_field).remove();
131                    $(this).after(ts_field_saccess);
132                    error = false;
133                }
134
135                if(error)
136                    e.preventDefault();
137
138            });
139            //Проверка при изменении полей
140            $(formObj).find('select.required').change(function(e){
141                if($(this).find('option:selected').length)
142                {
143                    $(this).parent().find(ts_field).remove();
144                    $(this).after(ts_field_saccess);
145                    error = false;
146                }
147                else
148                {
149                    $(this).parent().find(ts_field).remove();
150                    $(this).after(ts_field_error);
151                    error = true;
152                }
153
154                if(error)
155                    e.preventDefault();
156            });
157            //\\select
158
159
160            ////////////////////////////////////////////////////////////
161            //                          v1.2.9                       //
162            ///////////////////////////////////////////////////////////
163
164            //input[type="checkbox"]
165            $(formObj).find('.option-qroup.required').each(function(){
166
167                if( !$(this).find('input:checked').length)
168                {
169                    $(this).parent().find(ts_field).remove();
170                    $(this).after(ts_field_error);
171                    error = true;
172                }
173                else
174                {
175                    $(this).parent().find(ts_field).remove();
176                    $(this).after(ts_field_saccess);
177                    error = false;
178                }
179
180
181                if(error)
182                    e.preventDefault();
183            });
184            //Проверка при изменении полей
185            $(formObj).find('.option-qroup.required').on('keyup change', function(e){
186                if($(this).find('input:checked').length)
187                {
188                    $(this).parent().find(ts_field).remove();
189                    $(this).after(ts_field_saccess);
190                    error = false;
191                }
192                else
193                {
194                    $(this).parent().find(ts_field).remove();
195                    $(this).after(ts_field_error);
196                    error = true;
197                }
198
199                if(error)
200                    e.preventDefault();
201            });
202            //\\input[type="checkbox"]
203
204
205        });
206
207        //$(this).click(function(){
208          //  $(this).css('color', options.color);
209        //});
210
211        return this;
212    };
213
214});

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.