1$(function () { 2 $(".g-form-components").click(function () { 3 var _this = $(this); 4 if (!!_this.data("do") && _this.data("do") === '1') { 5 return ''; 6 } else { 7 _this.data("do", "1"); 8 } 9 var formComData = $.formComData(_this); 10 if (formComData === false) { 11 _this.data("do", "0"); 12 return ''; 13 } 14 var formData = formComData.data; 15 var formCom = formComData.com; 16 17 // æ¯å¦å卿件 18 var isUpload = false; 19 for (var i in formCom) { 20 if (formCom[i].comthis.attr("type") === 'file') { 21 isUpload = true 22 } 23 } 24 // ajax ä¸ä¼ æä»¶æäº¤æ°æ® 25 if (isUpload) { 26 var fileFormData = new FormData(); 27 fileFormData.append("boxId", formData.boxId); 28 fileFormData.append("captcha", formData.captcha); 29 fileFormData.append("pageId", formData.pageId); 30 fileFormData.append("postUrl", formData.postUrl); 31 var formItems = []; 32 for (var i in formData.formItem) { 33 var formItem = formData.formItem[i]; 34 for (var j in formCom) { 35 if (parseInt(formItem.id) === parseInt(formCom[j].id)) { 36 if (formCom[j].comthis.attr("type") === 'file') { 37 formItem.isFile = 1; 38 fileFormData.append("file" + formItem.id, formCom[j].comthis[0].files[0]); 39 } else { 40 formItem.isFile = 0; 41 } 42 } 43 } 44 formItems[i] = formItem; 45 } 46 fileFormData.append("formItem", JSON.stringify(formItems)); 47 48 $.ajax({
49 url: formData.postUrl, 50 type: 'POST', 51 data: fileFormData, 52 cache: false, 53 processData: false, 54 contentType: false, 55 dataType: "json", 56 success: function (_ret) { 57 _this.data("do", "0"); 58 var componentsParentId = _this.data("comtag"); 59 $("#" + componentsParentId).find("img[name='captcha']").click(); 60 if (_ret._return !== "success") { 61 if (_ret.code == '2') { 62 layer.alert($.languagePack(_ret.language), function (index) { 63 window.location.reload(); 64 layer.close(index); 65 }); 66 $(".layui-layer-close").click(function () { 67 window.location.reload(); 68 }); 69 return ''; 70 } 71 if (!!_ret.message) { 72 layer.alert(_ret.message, function (index) { 73 if (_ret.code == '1') { 74 var componentsParentId = _this.data("comtag"); 75 $("#" + componentsParentId).find("input[name='captcha']").focus(); 76 } 77 layer.close(index); 78 }); 79 $(".layui-layer-close").click(function () { 80 if (_ret.code == '1') { 81 var componentsParentId = _this.data("comtag"); 82 $("#" + componentsParentId).find("input[name='captcha']").focus(); 83 } 84 }); 85 } 86 return false; 87 } else { 88 // æå 89 if (!!_ret.message) { 90 layer.alert(_ret.message, function (index) { 91 window.location.reload(); 92 layer.close(index); 93 }); 94 $(".layui-layer-close").click(function () { 95 window.location.reload(); 96 }); 97 } 98 99 } 100 } 101 }); 102 return; 103 } 104 105 // ajax æäº¤æ°æ® 106 $.ajax({
107 type: "POST", 108 url: formData.postUrl, 109 data: formData, 110 dataType: "json", 111 success: function (_ret) { 112 _this.data("do", "0"); 113 var componentsParentId = _this.data("comtag"); 114 $("#" + componentsParentId).find("img[name='captcha']").click(); 115 if (_ret._return !== "success") { 116 if (_ret.code == '2') { 117 layer.alert($.languagePack(_ret.language), function (index) { 118 window.location.reload(); 119 layer.close(index); 120 }); 121 $(".layui-layer-close").click(function () { 122 window.location.reload(); 123 }); 124 return ''; 125 } 126 if (!!_ret.message) { 127 layer.alert(_ret.message, function (index) { 128 if (_ret.code == '1') { 129 var componentsParentId = _this.data("comtag"); 130 $("#" + componentsParentId).find("input[name='captcha']").focus(); 131 } 132 layer.close(index); 133 }); 134 $(".layui-layer-close").click(function () { 135 if (_ret.code == '1') { 136 var componentsParentId = _this.data("comtag"); 137 $("#" + componentsParentId).find("input[name='captcha']").focus(); 138 } 139 }); 140 } 141 return false; 142 } else { 143 // æå 144 if (!!_ret.message) { 145 layer.alert(_ret.message, function (index) { 146 window.location.reload(); 147 layer.close(index); 148 }); 149 $(".layui-layer-close").click(function () { 150 window.location.reload(); 151 }); 152 } 153 154 } 155 }, 156 error: function () { 157 return ajaxError(); 158 } 159 }); 160 }); 161}); 162(function ($) { 163 $.extend({ 164 // å ¬å¼æä»¶å ¥å£ 165 "formComData": function (options) { 166 // å é¨å®ä¹ä¸ä¸ªæä»¶è·åç¸åºçæ°æ® 167 if (typeof this.privateFunction === "undefined") { 168 this.privateFunction = $.extend({ 169 "formGetFormComponents": function (_this) { 170 var componentsParentId = _this.data("comtag"); 171 var _componentsParent = $("#" + componentsParentId); 172 if (_componentsParent.length < 1) { 173 return false; 174 } 175 return _componentsParent; 176 }, 177 "formGetParmes": function (_componentsParent) { 178 if (_componentsParent.find("input[name='box-id']:hidden").length > 0) { 179 var boxId = _componentsParent.find("input[name='box-id']:hidden").val(); 180 } 181 if (_componentsParent.find("input[name='post-url']:hidden").length > 0) { 182 var postUrl = _componentsParent.find("input[name='post-url']:hidden").val(); 183 } 184 if (_componentsParent.find("input[name='component-type']:hidden").length > 0) { 185 var compType = _componentsParent.find("input[name='component-type']:hidden").val(); 186 } 187 if (_componentsParent.find("input[name='page-id']:hidden").length > 0) { 188 var pageId = _componentsParent.find("input[name='page-id']:hidden").val(); 189 } 190 if (typeof boxId === 'undefined' || typeof postUrl === 'undefined' || typeof compType === 'undefined' || typeof pageId === 'undefined') { 191 console.error('Undefined boxId OR postUrl'); 192 return false; 193 } 194 return {boxId: boxId, postUrl: postUrl, compType: compType, pageId: pageId}; 195 }, 196 "formGetFormData": function (_form, boxId) { 197 var result = {}; 198 var i = 0; 199 _form.find("input").each(function (key) { 200 var _this = $(this); 201 if (_this.data("boxid") == boxId && typeof _this.data("variable") !== "undefined") { 202 var val = _this.val(); 203 if (_this.data('distpicker') && parseInt(_this.data('distpicker')) === 1) { 204 var province = _this.next('div').find(".province option:selected").text(); 205 var city = _this.next('div').find(".city option:selected").text(); 206 var district = _this.next('div').find(".district option:selected").text(); 207 if (province && city && district) { 208 val = province + city + district 209 } 210 } 211 var _data = eval(_this.data("variable"));
212 _data.comthis = _this; 213 _data.value = val; 214 result[i] = _data; 215 i++; 216 } 217 }); 218 return result; 219 }, 220 "formGetGivenData": function (_form, boxId) { 221 var result = {}; 222 var i = 0; 223 _form.find("input").each(function (key) { 224 var _this = $(this); 225 if (_this.data("boxid") == boxId && typeof _this.data("rule") !== "undefined") { 226 var _data = { 227 comthis: _this, 228 comid: _this.data("comid"), 229 boxid: _this.data("boxid"), 230 rule: _this.data("rule"), 231 message: _this.data("message") 232 }; 233// console.log(_data); 234 result[i] = _data; 235 i++; 236 } 237 }); 238 return result; 239 }, 240 "formGetCaptcha": function (_form) { 241 if ($.trim(_form.find("input[name='captcha']")).length > 0) { 242 return $.trim(_form.find("input[name='captcha']").val()); 243 } 244 return ''; 245 } 246 }); 247 } 248 var _this = $.extend({errorInfos: {}}, options); 249 250 // è·å表åç»ä»¶èç¹ 251 var _componentsParent = this.privateFunction.formGetFormComponents(_this); 252 if (_componentsParent === false) { 253 return false; 254 } 255 // è·å boxIdãcompType 以å postUrl ç»å½æ°æ® 256 var formParmes = this.privateFunction.formGetParmes(_componentsParent); 257 if (this.formParmes === false) { 258 return false; 259 } 260 // è·å表åç»ä»¶ä¸çè¡¨åæ°æ® 261 var formData = this.privateFunction.formGetFormData(_componentsParent, formParmes.boxId); 262 if (formData.length < 1) { 263 return false; 264 } 265 // éªè¯è¡¨åè§åå®ä¹ 266// if (typeof this.formValidation === "undefined") { 267 this.formValidation = $.extend({ 268 // é误æç¤º 269 "messageBox": function (message, obj, width) { 270 _this.errorInfos[obj.data('comid')] = { 271 message: message, 272 obj: obj, 273 width: width 274 }; 275// console.log(); 276// layer.alert(message, function (index) { 277// obj.focus(); 278// layer.close(index); 279// }); 280// obj.focus(); 281// $(".layui-layer-close").click(function () { 282// obj.focus(); 283// }); 284 }, 285 // ä¸è½ä¸ºç©º 286 "required": function (_data, ruleData) { 287 if (typeof _data.value === "undefined" || $.trim(_data.value) === "" || strlen(_data.value) === 0) { 288 this.messageBox(ruleData.message, _data.comthis); 289 return false; 290 } 291 return true; 292 }, 293 "rlength": function (_data, ruleData) { 294 if (typeof ruleData.is !== "undefined") { 295 if (strlen(_data.value) != parseInt(ruleData.is)) { 296 this.messageBox(ruleData.message, _data.comthis); 297 return false; 298 } 299 return true; 300 } else { 301 if (typeof ruleData.min !== "undefined") { 302 if (strlen(_data.value) < parseInt(ruleData.min)) { 303 this.messageBox(ruleData.message, _data.comthis); 304 return false; 305 } 306 } 307 if (typeof ruleData.max !== "undefined") { 308 if (strlen(_data.value) >
308 parseInt(ruleData.max)) { 309 this.messageBox(ruleData.message, _data.comthis); 310 return false; 311 } 312 } 313 return true; 314 } 315 }, 316 "email": function (_data, ruleData) { 317 if (_data.value == "") { 318 return true; 319 } 320 var pb = /^[a-zA-Z0-9!#$%&\'*+\\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&\'*+\\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/.test(_data.value); 321 if (!pb) { 322 this.messageBox(ruleData.message, _data.comthis); 323 return false; 324 } 325 return true; 326 }, 327 "phone": function (_data, ruleData) { 328 if (_data.value == "") { 329 return true; 330 } 331 var pb = /^[0-9\-\+\,\;\ï¼\ï¼]+$/.test(_data.value); 332 if (!pb) { 333 this.messageBox(ruleData.message, _data.comthis); 334 return false; 335 } 336 return true; 337 }, 338 "rili": function (_data, ruleData) { 339 if (_data.value == "") { 340 return true; 341 } 342 var utime = new Date(_data.value).getTime(); 343 if (utime < 1) { 344 this.messageBox(ruleData.message, _data.comthis); 345 return false; 346 } 347 return true; 348 }, 349 "suffix": function (_data, ruleData) { 350 var suf = _data.value.substr(_data.value.lastIndexOf('.') + 1); 351 var bool = false; 352 for (var i in ruleData.suffix) { 353 var suff = ruleData.suffix[i]; 354 if (suff === suf) { 355 bool = true; 356 } 357 } 358 if (bool) { 359 return true; 360 } 361 this.messageBox(ruleData.message, _data.comthis, '350px'); 362 return false; 363 }, 364 "size": function (_data, ruleData) { 365 if (_data.comthis.next("input[name='fileSize']").val() && _data.comthis.next("input[name='fileSize']").val() > ruleData.size) { 366 this.messageBox(ruleData.message, _data.comthis); 367 return false; 368 } 369 return true; 370 } 371 }); 372// } 373 374 /** 375 * 对äºç¹å®ç表åéªè¯çè¿ç¨ 376 */ 377 // éªè¯ç¹æ®è¡¨åè§å 378// if (typeof this.givenValidation === "undefined") { 379 this.givenValidation = $.extend({ 380 // é¦å éè¦å ³èå°è¡¨å以å表åç»æçæ°æ®ä¸ 381 "controller": function (givenData, formData) { 382 var bool = true; 383 var gvalue = null; 384 for (var i in givenData) { 385 givenData[i].comid 386 for (var k in formData) { 387 if (formData[k].id == givenData[i].comid) { 388 gvalue = formData[k].value; 389 break; 390 } 391 } 392 if (givenData[i].rule === 'required' && (gvalue === null || gvalue === "")) { 393// layer.alert(givenData[i].message, function (index) { 394// layer.close(index); 395// }); 396 _this.errorInfos[givenData[i].comid] = { 397 message: givenData[i].message, 398 obj: givenData[i].comthis 399 }; 400 bool = false; 401 } 402 gvalue = null; 403 } 404 return bool; 405 } 406 }); 407// } 408 var givenData = this.privateFunction.formGetGivenData(_componentsParent, formParmes.boxI
408d); 409 410 // å¯¹è¡¨åæ°æ®éªè¯çè¿ç¨ 411 var bool = true; 412 var formItem = new Array; 413 var formComthis = new Array; 414 $.each(formData, function (key, _data) { 415 if ($.formComDataValidation(_data) === true) { 416 formItem[key] = { 417 id: _data.id, 418 name: _data.name, 419 value: _data.value, 420 item: typeof _data.item !== "undefined" ? _data.item : 0 421 }; 422 formComthis[key] = { 423 id: _data.id, 424 comthis: _data.comthis 425 } 426 } else { 427 bool = false; 428 } 429 }); 430 if (this.givenValidation.controller(givenData, formData) === false) { 431 bool = false; 432 } 433 if (bool === true) { 434 // éªè¯éªè¯ç æ¯å¦ä¸ºç©º 435 var captcha = this.privateFunction.formGetCaptcha(_componentsParent); 436 if (captcha === "") { 437 layer.alert(languagePack('verificationCodeCannotBeEmpty'), function (index) { 438 if (_componentsParent.find("input[name='captcha']").length > 0) { 439 _componentsParent.find("input[name='captcha']").focus(); 440 } 441 layer.close(index); 442 }); 443 $(".layui-layer-close").click(function () { 444 _componentsParent.find("input[name='captcha']").focus(); 445 }); 446 return false; 447 } else if (captcha.length != 4) { 448 layer.alert(languagePack('pleaseEnter4VerificationCode'), function (index) { 449 if (_componentsParent.find("input[name='captcha']").length > 0) { 450 _componentsParent.find("input[name='captcha']").focus(); 451 } 452 layer.close(index); 453 }); 454 $(".layui-layer-close").click(function () { 455 _componentsParent.find("input[name='captcha']").focus(); 456 }); 457 return false; 458 } 459 var returnData = { 460 formItem: formItem, 461 captcha: captcha, 462 boxId: formParmes.boxId, 463 pageId: formParmes.pageId, 464 postUrl: formParmes.postUrl 465 }; 466 return {com: formComthis, data: returnData}; 467 } else { 468// _componentsParent, formParmes.boxId 469// _componentsParent.find("input[data-boxid='"+formParmes.boxId+"']").each(function (key) { 470// var _this = $(this); 471// if (_this.data("boxid") == boxId && typeof _this.data("variable") !== "undefined") { 472// var _data = eval(_this.data("variable")); 473// _data.comthis = _this; 474// _data.value = _this.val(); 475// result[i] = _data; 476// i++; 477// } 478// }); 479 // ä»ä¸å°ä¸è·å表å 480 _componentsParent.find("input[data-boxid='" + formParmes.boxId + "']").each(function () { 481 if (!!_this.errorInfos[$(this).data("comid")]) { 482 var _info = _this.errorInfos[$(this).data("comid")]; 483 if (!!_info.obj.data("variable")) { 484 if (!!_info.width) { 485 var _layer = layer; 486 _layer.alert(_info.message, { 487 area: _info.width, 488 success: function (index) { 489 _info.obj.focus(); 490 } 491 }); 492 } else { 493 layer.alert(_info.message, function (index) { 494 _info.obj.focus(); 495 layer.close(index); 496 }); 497 } 498 _info.obj.focus(); 499 $(".layui-layer-close").click(function () { 500 obj.focus(); 501 }); 502 } else { 503 layer.alert(_info.message, function (index) { 504 layer.close(index); 505 }); 506 $(".layui-layer-close").click(function () { 507 obj.focus(); 508 }); 509 } 510 return false; 511 } 512 }); 513 } 514 return false; 515 },
516 // å ¬å¼æä»¶çéªè¯å ¥å£ï¼æ¥åæ¹ä¾¿è¿è¡å个表åéªè¯ 517 "formComDataValidation": function (_data) { 518 var bool = true; 519 var formValidation = this.formValidation; 520 if (typeof _data.rules === "string" && _data.rules === "") { 521 return bool; 522 } 523 $.each(_data.rules, function (rule, ruleData) { 524 if (bool === false) { 525 return ''; 526 } 527 switch (rule) { 528 case "required": 529 if (formValidation.required(_data, ruleData) === false) { 530 bool = false; 531 } 532 break; 533 case "length": 534 if (formValidation.rlength(_data, ruleData) === false) { 535 bool = false; 536 } 537 break; 538 case "email": 539 if (formValidation.email(_data, ruleData) === false) { 540 bool = false; 541 } 542 break; 543 case "phone": 544 if (formValidation.phone(_data, ruleData) === false) { 545 bool = false; 546 } 547 break; 548 case "rili": 549 if (formValidation.rili(_data, ruleData) === false) { 550 bool = false; 551 } 552 break; 553 case "suffix": 554 if (formValidation.suffix(_data, ruleData) === false) { 555 bool = false; 556 } 557 break; 558 case "size": 559 if (formValidation.size(_data, ruleData) === false) { 560 bool = false; 561 } 562 break; 563 case "default": 564 if (ruleData === "NULL") { 565 bool = true; 566 } 567 break; 568 default : 569 bool = false; 570 console.error("Undefined rule : " + rule); 571 return ''; 572 } 573 574 }); 575 return bool; 576 } 577 }); 578})(jQuery); 579
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.