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.