function layer_navbar_ready_func(params, callback){ var layerid = params.layerid; $('#'+layerid).layer_ready(function(){ var $curlayer = $('#'+layerid); if ($.isFunction(callback)) callback(); if (params.isedit) $curlayer.data("menudata", params.menudata); // 修复样式未渲染完成之前的显示问题 var shwtimer = setTimeout(function(){ $curlayer.children('.wp-navbar_content').css("visibility", 'visible'); clearTimeout(shwtimer); if(params.skin_style == 'horizontal_h01'){ var fontSize=parseInt($('#'+layerid+' nav.mtree li a').css('font-size'))||0; var actualFont=params.fontsize; if(actualFont>10 &&fontSize-actualFont>0.5){ var w=$('#'+layerid+' nav.mtree li a').width(); $('#'+layerid+' nav.mtree li a').css('max-width',(w*actualFont/fontSize-2)+'px'); }else{ var w=$('#'+layerid+' nav.mtree li a').width(); if(actualFont>10&&actualFont-fontSize>0.5) $('#'+layerid+' nav.mtree li a').css('max-width',(w*actualFont/fontSize-2)+'px'); } } }, 50); // 编辑模式 if(params.isedit){ // 局部刷新时调整模块尺寸 if (params.isrefresh == 'true') { var $content = $curlayer.children('.wp-navbar_content'),modsize = $.padborder_logic($content), bwidth = $._parseFloat($curlayer.css("borderLeftWidth")) + $._parseFloat($curlayer.css("borderRightWidth")), bheight = $._parseFloat($curlayer.css("borderTopWidth")) + $._parseFloat($curlayer.css("borderBottomWidth")), modleft = $._parseFloat($curlayer.css("left")),canvaswidth = canv.width(),modwidth = modheight = 0; modwidth = window.modmaxwidth - bwidth;modheight = window.modmaxheight - bheight; if (canvaswidth < modleft + modwidth) modwidth -= modleft; $content.width(modwidth).height(modheight);$curlayer.width(modwidth + modsize.width).height(modheight + modsize.height); var tmptimer = setTimeout(function(){ var conheight = $content.children('.menubtn,nav.mtree').outerHeight(true); conheight = Math.max(conheight, $content.height()); $content.height(conheight);$curlayer.height(conheight + modsize.height); window.modmaxwidth = window.modmaxheight = $content = modsize = null;clearTimeout(tmptimer); }, 100); bwidth = modleft = canvaswidth = modwidth = modheight = null; } // 保存配置项 $curlayer.mod_property(params.options); // 禁用标签 $curlayer.find('li>a.mtitle').attr("href", 'javascript:;'); } }); }; function layer_media_ready_func(layerid){ var userAgent = navigator.userAgent.toLowerCase(); if (!/iphone/i.test(userAgent)){ var imgover=$('#wp-media-image_'+layerid).closest('.img_over'); imgover.children('.imgloading').width(imgover.width()).height(imgover.height()); } $('#'+layerid).layer_ready(function(){ if(typeof(layer_img_lzld)=="function"){ layer_img_lzld(layerid); } }); } function layer_media_lazyload_func(layerid, iswx){ var imgwidth = $('#'+layerid+' .wp-media_content').width(); var imgheight = $('#'+layerid+' .wp-media_content').height(); var imgtop = ($('#wp-media-image_'+layerid)); if(parseInt(imgtop.css('top'))<-600&&imgtop.attr('src').indexOf('blank.gif')>0){imgtop.attr('src',imgtop.attr('data-original'));} if(iswx){ if(imgtop.offset().top0){ imgtop.attr('src',imgtop.attr('data-original')); } setTimeout(function(){ var imgdisplay = imgtop.css('display'); if(imgdisplay&&imgdisplay=='inline') imgtop.css('display','inline-block'); },1200); } // bug#4119 - 模块自适应高度导致的留白 $('#'+layerid).bind("wrapmodheightadapt", function(){ $('.img_over, img.paragraph_image', this).height($(this).height()); }); }; (function(){ var fillcolor='#198ede'; var strcolor='#666'; var nw=150; var nh=100; var c; var cxt; var linepx=10; //默认边框 var shape_params; var zw=nw-(linepx/2); //减去边框后宽度 var zh=nh-(linepx/2); //减去边框后高度 var zx=linepx/2; //减去边框顶点位置 var Shapes={} /*矩形--*/ Shapes['rectan']=function() { cxt.save(); cxt.beginPath(); if(fillcolor!='transparent') cxt.fillStyle=fillcolor; cxt.strokeStyle=strcolor; if(linepx!=0) cxt.lineWidth = linepx; //边框大小 if(fillcolor!='transparent') cxt.fillRect(zx,zx,zw*2,zh*2); if(linepx!=0) cxt.strokeRect(zx,zx,zw*2,zh*2); if(fillcolor!='transparent') cxt.fill(); if(linepx!=0) cxt.stroke(); } /*圆形--*/ Shapes['circle']=function() { cxt.save(); var r = (zw > zh) ? zw : zh; var ratioX = zw / r; var ratioY = zh / r; cxt.translate(zx, zx); cxt.scale(ratioX, ratioY); cxt.beginPath(); cxt.arc(zw/ratioX, zh/ratioY, r, 0, 2 * Math.PI, true); cxt.closePath(); cxt.restore(); if(fillcolor!='transparent') cxt.fillStyle=fillcolor; cxt.strokeStyle=strcolor; if(linepx!=0) cxt.lineWidth = linepx; //边框大小 if(fillcolor!='transparent') cxt.fill(); if(linepx!=0) cxt.stroke(); } /*五角星*/ Shapes['pentagram']=function(){ cxt.save(); var r = (zw > zh) ? zh : zw; cxt.translate(0, zx); cxt.beginPath(); //设置是个顶点的坐标,根据顶点制定路径 for (var i = 0; i < 5; i++) { cxt.lineTo(Math.cos((18+i*72)/180*Math.PI)*r+r+zx, -Math.sin((18+i*72)/180*Math.PI)*r+r+zx); cxt.lineTo(Math.cos((54+i*72)/180*Math.PI)*(r/2)+r+zx, -Math.sin((54+i*72)/180*Math.PI)*(r/2)+r+zx); } cxt.closePath(); if(fillcolor!='transparent') cxt.fillStyle = fillcolor; if(strcolor!='transparent') cxt.strokeStyle = strcolor; if(linepx!=0) cxt.lineWidth =linepx; if(fillcolor!='transparent') cxt.fill(); if(linepx!=0 && strcolor!='transparent') cxt.stroke(); cxt.restore();//返回原始状态 } /*三角形--*/ Shapes['triangle']=function(){ cxt.save(); cxt.beginPath(); cxt.moveTo(zx*2, zh*2+zx); cxt.lineTo(zw+zx, zx*2); cxt.lineTo(zw*2,zh*2+zx); cxt.closePath(); if(fillcolor!='transparent') cxt.fillStyle = fillcolor; if(strcolor!='transparent') cxt.strokeStyle = strcolor; if(linepx!=0) cxt.lineWidth =linepx; if(fillcolor!='transparent') cxt.fill(); if(linepx!=0 && strcolor!='transparent') cxt.stroke(); } /*平行四边形--*/ Shapes['parallelo']=function(){ cxt.save(); cxt.beginPath(); cxt.moveTo(zx*2, zh*2+zx); cxt.lineTo(zw*1.4, zh*2+zx); cxt.lineTo(zw*2, zx); cxt.lineTo(zw*0.6+linepx, zx); cxt.lineTo(zx*2, zh*2+zx); cxt.closePath(); if(fillcolor!='transparent') cxt.fillStyle = fillcolor; if(strcolor!='transparent') cxt.strokeStyle = strcolor; if(linepx!=0) cxt.lineWidth =linepx; if(fillcolor!='transparent') cxt.fill(); if(linepx!=0 && strcolor!='transparent') cxt.stroke(); } /*梯形--*/ Shapes['trapezium']=function() { cxt.save(); cxt.beginPath(); cxt.moveTo(zx*2, zh*2+zx); cxt.lineTo(zw*2, zh*2+zx); cxt.lineTo(zw*1.5+zx, zx); cxt.lineTo(zw*0.5+zx, zx); cxt.lineTo(zx*2, zh*2+zx); cxt.closePath(); if(fillcolor!='transparent') cxt.fillStyle = fillcolor; if(strcolor!='transparent') cxt.strokeStyle = strcolor; if(linepx!=0) cxt.lineWidth =linepx; if(fillcolor!='transparent') cxt.fill(); if(linepx!=0 && strcolor!='transparent') cxt.stroke(); } /*提示框形__左*/ Shapes['roundtip_left']=function(){ var radius=parseInt(zw)*0.075; //圆角大小 if(radius<12){ radius=12; } //圆角最小值 var rjh= zh*0.75; cxt.beginPath(); cxt.arc( radius+zx, radius+zx, radius, Math.PI, Math.PI * 3 / 2); cxt.lineTo(zw*2+zx - radius , zx); cxt.arc(zw*2+zx - radius , radius +zx, radius, Math.PI * 3 / 2, Math.PI * 2); cxt.lineTo(zw*2+zx , rjh*2 - radius); cxt.arc(zw*2+zx - radius , rjh*2 - radius , radius, 0, Math.PI * 1 / 2); cxt.lineTo(radius*2.2+zx , rjh*2); //左下箭头 cxt.lineTo(radius*0.9 +zx, rjh*2+radius); //左下箭头*/ cxt.arc(radius+zx , rjh*2- radius , radius, Math.PI * 1 / 2, Math.PI); cxt.closePath(); if(fillcolor!='transparent') cxt.fillStyle = fillcolor; if(strcolor!='transparent') cxt.strokeStyle = strcolor; if(linepx!=0) cxt.lineWidth = linepx; if(fillcolor!='transparent') cxt.fill(); if(linepx!=0 && strcolor!='transparent') cxt.stroke(); cxt.restore();//返回原始状态 } /*提示框形__右*/ Shapes['roundtip_right']=function() { var radius=parseInt(zw)*0.075; //圆角大小 if(radius<12){ radius=12; } //圆角最小值 var rjh= zh*0.75; cxt.beginPath(); cxt.arc( radius+zx, radius+zx, radius, Math.PI, Math.PI * 3 / 2); cxt.lineTo(zw*2+zx - radius , zx); cxt.arc(zw*2+zx - radius , radius +zx, radius, Math.PI * 3 / 2, Math.PI * 2); cxt.lineTo(zw*2+zx , rjh*2 - radius); cxt.arc(zw*2+zx - radius , rjh*2 - radius , radius, 0, Math.PI * 1 / 2); cxt.lineTo(zw*2+zx-radius*0.9 , rjh*2+radius); //右下箭头 cxt.lineTo(zw*2+zx-radius*2.2 , rjh*2); //右下箭头 cxt.arc(radius+zx , rjh*2- radius , radius, Math.PI * 1 / 2, Math.PI); cxt.closePath(); if(fillcolor!='transparent') cxt.fillStyle = fillcolor; if(strcolor!='transparent') cxt.strokeStyle = strcolor; if(linepx!=0) cxt.lineWidth = linepx; if(fillcolor!='transparent') cxt.fill(); if(linepx!=0 && strcolor!='transparent') cxt.stroke(); cxt.restore();//返回原始状态 } /*箭头--*/ Shapes['arrow']=function() { cxt.save(); cxt.beginPath(); cxt.moveTo(zx, zh*0.65+zx); cxt.lineTo(zx, zh*1.35+zx); cxt.lineTo(zw*1.04, zh*1.35+zx); cxt.lineTo(zw*1.04, zh*2); cxt.lineTo(zw*2,zh+zx); cxt.lineTo(zw*1.04, zx*2); cxt.lineTo(zw*1.04,zh*0.65+zx); cxt.closePath(); if(fillcolor!='transparent') cxt.fillStyle = fillcolor; if(strcolor!='transparent') cxt.strokeStyle = strcolor; if(linepx!=0) cxt.lineWidth =linepx; if(fillcolor!='transparent') cxt.fill(); if(linepx!=0 && strcolor!='transparent') cxt.stroke(); } /*钻石形--*/ Shapes['diamond']=function() { cxt.save(); cxt.beginPath(); cxt.moveTo(zx*2, zh*0.9); cxt.lineTo(zw+zx, zh*2); cxt.lineTo(zw*2, zh*0.9); cxt.lineTo(zw*1.55+zx,zh*0.38); cxt.lineTo(zw*0.45+zx,zh*0.38); cxt.closePath(); if(fillcolor!='transparent') cxt.fillStyle = fillcolor; if(strcolor!='transparent') cxt.strokeStyle = strcolor; if(linepx!=0) cxt.lineWidth =linepx; if(fillcolor!='transparent') cxt.fill(); if(linepx!=0 && strcolor!='transparent') cxt.stroke(); } /*正多边形*/ Shapes['isogon']=function(){ var ib=5; if(shape_params.ib>2) ib=shape_params.ib; var i,ang; var dzw=zw+zx*1.8-linepx; var dzh=zh+zx*1.8-linepx; var r = (dzw > dzh) ? dzh : dzw; ang = Math.PI*2/ib; //旋转的角度 cxt.save();//保存状态 cxt.translate(nw, nh);//原点移到x,y处,即要画的多边形中心 cxt.moveTo(0, -r);//据中心r距离处画点 cxt.beginPath(); for(i = 0;i < ib; i ++) { cxt.rotate(ang)//旋转 cxt.lineTo(0, -r);//据中心r距离处连线 } cxt.closePath(); if(fillcolor!='transparent') cxt.fillStyle = fillcolor; if(strcolor!='transparent') cxt.strokeStyle = strcolor; if(linepx!=0) cxt.lineWidth = linepx;//设置线宽 if(fillcolor!='transparent') cxt.fill(); if(linepx!=0 && strcolor!='transparent') cxt.stroke(); cxt.restore();//返回原始状态 } function ClearCanvas(){ cxt.clearRect(0, 0, nw*2, nh*2); } function layer_mshapes_draw_func(params){ var layerid=params.layerid; var shapetype=params.shape_type; var canvasel=$('#'+layerid).find('canvas'); var w=$('#'+layerid).find('.wp-mshapes_content').width(); var h=$('#'+layerid).find('.wp-mshapes_content').height(); canvasel.attr('width',w); canvasel.attr('height',h); if(params.fillcolor) fillcolor=params.fillcolor; if(params.strcolor) strcolor=params.strcolor; if(params.borderline != null) linepx=parseInt(params.borderline); shape_params=params; c = canvasel[0]; cxt = c.getContext("2d"); nw=parseInt(w/2); nh=parseInt(h/2); zw=nw-parseInt(linepx/2); //减去边框后宽度 zh=nh-parseInt(linepx/2); //减去边框后高度 zx=parseInt(linepx/2); //减去边框顶点位置 ClearCanvas(); if(Shapes[shapetype]) Shapes[shapetype](); } window.layer_mshapes_draw_func=layer_mshapes_draw_func })(); ; function layer_mnew_message_form_init_func(params){ var $curlayer = $('#'+params.layerid); $curlayer.children('.mask').width(function(){ return $curlayer.width(); }).height(function(){return $curlayer.height()}); $curlayer.mod_property(params.options); $curlayer.data("focustyle", params.focustyle); $curlayer.data("nodesmap", params.nodesmap); $curlayer.data("spctypeobj", params.spctypeobj); } function layer_mnew_message_form_core_func(layerid, curskn, use_auth_code){ var $curlayer = $('#'+layerid); // Placeholder if (curskn == 'ms3') { var decode = function(str){return (str||'').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, "'")}; $curlayer.find('input[type="text"],select,textarea').each(function(i, node){ var $parent = $(node).parent(),$title = $parent.closest('li').children('.title'),$reqtip = $([]); if ($title.children('.reqtip').length > 0) $reqtip = $title.children('.reqtip').detach(); if ($parent.is('.inpbox')) $(node).attr('Placeholder',decode($title.hide().html()||'')); else { if ($parent.is(':hidden')) return true; $parent.children('span.cur_select').html($title.hide().html()); } if ($reqtip.length) $reqtip.css({"position": 'absolute',"right": '-10px',"top": '0'}).appendTo($title.next('.inpbox').css("position", 'relative')); }); $curlayer.find('.'+layerid+'user_pic_upload').each(function(){ var pictitle_node = $(this).parent('.inpbox').siblings('.title'),$picreqtip = $([]); if(pictitle_node.children('.reqtip').length > 0) $picreqtip = pictitle_node.children('.reqtip').detach(); var pictitle = pictitle_node.html(); $(this).find('.webuploader-pick_txt').html(pictitle); pictitle_node.hide(); if($picreqtip.length) $picreqtip.css({"position": 'absolute',"right": '-10px',"top": '0'}).appendTo($(this).parent('.inpbox').css("position", 'relative')); }); } else if (curskn == 'ms2') {/*Title line-height*/ var $inpbox = $([]); var curlabel = $curlayer.find('ul.mfields .checkbox label'); $curlayer.find('ul > li').each(function(i, node){ var $title = $('> .title', node);$inpbox = $('> .inpbox input', node); $title.css("padding-top", Math.ceil(Math.max($inpbox.height() - $title.height())/2)+'px'); }); if($inpbox.length>0) $curlayer.find('a.btnsubmit').css("margin-left", $inpbox.position().left+'px'); var inpos = $curlayer.find('ul > li:last > .inpbox').position(); if(inpos){ $curlayer.find('a.btnsubmit').css("margin-left", inpos.left+'px'); } } else if (curskn == 'ms4') {/*Inpbox max-height*/ var $lis = $curlayer.find('ul > li'); for(var i = 0,c = $lis.length;i < c;i += 2){ var maxh = 0;if(c == i + 1) break; var $inpbox = $lis.filter(':eq('+i+')').next('li').andSelf().children('.inpbox').height('auto'); maxh = Math.max.apply(null, $inpbox.map(function(){return $(this).height()}).toArray()); $inpbox.height(maxh); } var $cainp = $curlayer.find('img.captchapic').siblings('.inptext');//#7443 $cainp.css("text-indent", (10)+'px'); } // Captcha if (use_auth_code == 'yes') { var $captchapic = $curlayer.find('img.captchapic'),$cainp = $captchapic.siblings('.inptext'), inptxtind = parseInt($cainp.css("text-indent")||'0'),capicleft = inptxtind + parseInt($cainp.css("borderLeftWidth")||'0'); $cainp.css("text-indent", (inptxtind + 65 + 10)+'px'); $captchapic.css({"top": Math.ceil(($cainp.outerHeight(true) - 18)/2)+'px',"left": capicleft+'px'}).click(function(){ $(this).attr("src", parseToURL('mnew_message_form', 'captcha', {"capkey": layerid,"s": (new Date()).getTime()})); }); } } function layer_mnew_message_form_onevent_func(params,linkData,has_area,yzm_open){ var $curlayer = $('#'+params.layerid); var submitflag=false; // Custom-select $curlayer.find('select.cp_sele').change(function(){ $(this).closest('.btn-select').removeClass("on"); $(this).prev('span.cur_select').html($('> option:selected', this).html()); if($('.define_limit2').css('display') == 'block'){ $(".requiredtip").hide(); } if($('.define_limit3').css('display') == 'block'){ $(".requiredtip").hide(); } }).focus(function(){$(this).closest('.btn-select').addClass("on")}) .blur(function(){$(this).closest('.btn-select').removeClass("on")}); // Radio:checked & Checkbox:checked $curlayer.find(':radio,:checkbox').click(function(){ $(this).parent()[$(this).prop("checked")?'addClass':'removeClass']("on"); if (this.type == 'radio') $(this).parent().siblings('.radiobox').removeClass("on"); }); // Datepicker if (params.datepicker == 'datepicker') { var datedir = params.jsbasedir; if ($('link#date_picker').length == 0) { $('').attr({ "type" : 'text/css',"href" : datedir+'/jquery.cxcalendar.css' }).appendTo('head'); } $LAB.script(datedir+'/jquery.cxcalendar.min.js?v=5').wait(function(){ $curlayer.find('input.datepicker').not('.datepickers').cxCalendar({ language: params.date_locale }); }); } if (params.datepickers == 'datepickers') { var datedir = params.jsbasedir; if ($('link#date_picker').length == 0) { $('').attr({ "type" : 'text/css',"href" : datedir+'/jquery.cxcalendar.css' }).appendTo('head'); } $LAB.script(datedir+'/jquery.cxcalendar.min.js?v=5').wait(function(){ $curlayer.find('input.datepickers').cxCalendar( { type: 'datetime', format: 'YYYY-MM-DD HH:mm:ss', language: params.date_locale } ); }); } if(has_area){ var area_caches={} function get_area(parent_id){ var deferred=$.Deferred(); if(area_caches[parent_id] != null){ deferred.resolve(area_caches[parent_id]); return deferred; } $.ajax({ type: 'GET', url: parseToURL('mnew_message_form','get_area'), data: {p_id:parent_id}, success: function(response){ var json = $.parseJSON(response); if (json.result == "OK") { var areas=json.areas; // areas指三级联动中每一级的各自返回的数据 if(areas.length == 0){ // 如果下一级没有数据则隐藏元素 if($curlayer.find(".district_limit1").val() && !$curlayer.find(".district_limit2").val()){ $curlayer.find(".district_limit2").closest('a').hide(); $curlayer.find(".requiredtip").hide(); }else if($curlayer.find(".district_limit2").val() && !$curlayer.find(".district_limit3").val()){ $curlayer.find(".district_limit3").closest('a').hide(); $curlayer.find(".requiredtip").hide(); }else if($curlayer.find(".district_limit3").val()){ $curlayer.find(".requiredtip").hide(); } }else{ if($curlayer.find(".district_limit1").val()){ $curlayer.find(".requiredtip").hide(); } if($curlayer.find(".district_limit2").val()){ $curlayer.find(".requiredtip").hide(); } area_caches[parent_id]=areas; deferred.resolve(areas); } }else{ deferred.resolve([]); } }, error: function(xhr, textStatus, errorThrown){ deferred.resolve([]); return false; } }) return deferred } function changeChildArea(childel,areas){ childel.empty().parents('.btn-select:first').find('.cur_select').text(' --- '); childel.append($('')); if(areas){ for(var i=0;i').attr('value',areas[i][0]).text(areas[i][1]); childel.append(optel); } } } function areaSelectChange(sel){ var val=sel.val(); var index=parseInt(sel.attr('data-index'))||0; if(index<1 || index>3){ return; } if(params.theme=='ms4'){ sel.closest(".inpbox").css('height','auto'); var liindex=sel.closest(".mfields").find("li").index(sel.closest('li')); } var allareas=sel.parents('.inpbox:first').find('.message_area') allareas.each(function(){ var curel=$(this); var curindex=parseInt(curel.attr('data-index'))||0; if(index span.cur_select', this).html(' --- '); $('> select > option:gt(0)', this).remove(); $(this).hide(); }); // sub - level var suboptstr = ''; for (var i in suboptjsn) { var subopt = suboptjsn[i]; suboptstr += ''; } $parent.find('select[name="'+ky+'['+level+']"]').empty().append(suboptstr).parent().show(); var scrollt=$(window).scrollTop(); wp_heightAdapt($curlayer);/*Auto change 'layer-height'*/ $(window).scrollTop(scrollt); }); } // Submit (function(){ var getQueenItem=function (id){ return $('.fileQueue_chooser_'+window.id).find('.uploadifyQueueItem').filter(function(){ return this.id.match(new RegExp(id+'$')); }) } var mimetypestr = '',mimetypearr = { 'pic' : 'image/png,image/jpg,image/jpeg,image/gif,.ico', 'mp3' : 'audio/mpeg', 'swf' : '.swf','rar' : '.rar', 'doc' : 'application/pdf,.doc,.docx,.ppt,.pptx,.odt,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'text' : 'text/plain,text/html' }; var filetype = 'pic';//临时写死 if (filetype == 'all') { for(var k in mimetypearr){ if ($.inArray(k, ['swf','rar']) != -1) continue; mimetypestr += mimetypearr[k]+','; } mimetypestr = mimetypestr.replace(/,$/, ''); } else mimetypestr = mimetypearr[filetype]; if(filetype=='pic'){ var useragent=navigator.userAgent; if(useragent.match(/micromessenger/i)){ mimetypestr ='image/*'; } } var uploader; var pickid = '.'+params.layerid+'user_pic_upload'; $curlayer.find('.mesform').validate({ errorPlacement: function(error, el){ hasEmpty = true; var $tiparent = el.closest('.inpbox'),$reqtip = $tiparent.children('.requiredtip'); if ($reqtip.length > 0) $reqtip.remove(); var _top = $tiparent.outerHeight(),tipmsg = params['tipmsg']['isrequired']; if (el.val().length && (el.attr("data-rule-email") == 'true')) tipmsg = params['tipmsg']['email_error']; if (el.val().length && (el.attr("data-rule-mobile") == 'true')) tipmsg = params['tipmsg']['mobile_error']; if (el.val().length && (el.attr("data-rule-Idcard") == 'true')) tipmsg = params['tipmsg']['Idcard_error']; $tiparent.css("position", 'relative').append('' +tipmsg+''); var radbool = false; var chkbool = false; radbool = checks($curlayer,'radio',params); chkbool = checks($curlayer,'chkio',params); },success: function(label){ var inpnstr = (label.attr("id")||'').replace('-error', ''); if(inpnstr.indexOf('multiselect')>0){ if($curlayer.find(".district_limit2").val()){ if($curlayer.find(".district_limit3").val()){ $curlayer.find('[name="'+inpnstr+'"]').closest('.inpbox').children('.requiredtip').remove(); }else{ if($curlayer.find(".district_limit3").closest('a').css('display') == 'none'){ $curlayer.find('[name="'+inpnstr+'"]').closest('.inpbox').children('.requiredtip').remove(); } } } else{ if(inpnstr.indexOf('[1]') > 0){ if(inpnstr.indexOf('[2]') < 0){ if(!$curlayer.find(".define_limit2").val()){ $curlayer.find('[name="'+inpnstr+'"]').closest('.inpbox').children('.requiredtip').remove(); } } }else if(inpnstr.indexOf('[2]') > 0){ if($curlayer.find(".define_limit3").css("display") == 'none' || !$curlayer.find(".define_limit3").css("display")){ $curlayer.find('[name="'+inpnstr+'"]').closest('.inpbox').children('.requiredtip').remove(); } }else if(inpnstr.indexOf('[3]') > 0 || inpnstr.indexOf('[3]') < 0){ $curlayer.find('[name="'+inpnstr+'"]').closest('.inpbox').children('.requiredtip').remove(); } } }else{ $curlayer.find('[name="'+inpnstr+'"]').closest('.inpbox').children('.requiredtip').remove(); } },submitHandler: function(form, e){ if(yzm_open){ var inputVal = $curlayer.find("input[name=verify]").val(); if(!inputVal){ var codetipmsg = params['tipmsg']['isrequired']; var vcodetiparent = $curlayer.find("a.send"); var vcodereqtip = vcodetiparent.children('.requiredtip'); if (vcodereqtip.length > 0) vcodereqtip.remove(); var _top = vcodetiparent.outerHeight(); vcodetiparent.append('' +codetipmsg+''); hasEmpty = false; return false; } } var isempty = false,frmdata = $(form).serializeArray(); var radbool = false; var chkbool = false; radbool = checks($curlayer,'radio',params) chkbool = checks($curlayer,'chkio',params) if(radbool || chkbool) return; var useauthcode = params.use_auth_code; $("input:[name='mobile']").val("0"); for (var i in frmdata) { var frmobj = frmdata[i]; if (/^mes/i.test(frmobj['name'])) { var keyname = frmobj['name']; var kval = $.trim(frmobj['value']); if(keyname.indexOf("mobile")>0){ if (kval.length > 0){ $("input:[name='mobile']").val("1"); } } } } for (var i in frmdata) { var frmobj = frmdata[i]; if (/^mes/i.test(frmobj['name'])) { var keyname = frmobj['name']; var kval = $.trim(frmobj['value']); if(keyname.indexOf("picturesupload")>0){ continue; } if(keyname.indexOf("Idcard")>0){ if( !(kval.length==15 || kval.length ==18)){ alert( params['tipmsg']['Idcard_len_error']); return false; }else{ var reg=/^[1-9]{1}[0-9]{13}([0-9]|[xX])$|^[1-9]{1}[0-9]{16}([0-9]|[xX])$/; if(reg.test(kval)){}else{ alert( params['tipmsg']['Idcard_error']); return false; } } } if (kval.length > 0) break; else isempty = true; } } //检查图片类必填项,的图片是否加入队列 var has_re_pic_upload = $curlayer.find('.mesform .uppic_hidden[required]').length; if(has_re_pic_upload && !required_pic_post_f){ var requiredpic_add_queen = ''; $curlayer.find('.mesform').find(".uppic_hidden").each(function(){ var is_required = $(this).attr("required"); if(is_required){ var is_add_queen = $(this).siblings('.filequeue').html(); var imgstr_name = $(this).attr('field_name'); if(is_add_queen == ''){ requiredpic_add_queen = false; alert(imgstr_name+params.Field_not_empty); return false; }else{ requiredpic_add_queen = true; } }else{ requiredpic_add_queen = true; } }) if(requiredpic_add_queen){ uploader.upload(); }else{ return false; } return;//图片类必填项,选择上传的图片是否全部上传 } var has_pic_upload = $curlayer.find('.mesform').find('.'+params.layerid+'user_pic_upload').length; //图片上传类的非必填项是否选择了图片 var has_file_inqueen = ''; if(has_pic_upload){ $curlayer.find('.mesform').find(".uppic_hidden").each(function(){ has_file_inqueen = $(this).siblings('.filequeue').html(); if(has_file_inqueen !=''){ has_file_inqueen = true; return false; } }) } //图片类只有非必填项时的上传 if(has_pic_upload && !has_re_pic_upload && !choose_pic_post_f && has_file_inqueen){ if(has_file_inqueen) uploader.upload(); return; } var is_submit=$(form).data('is_submit_form'); if(is_submit) return false; $(form).data('is_submit_form',true); var timer=setTimeout(function(){ $(form).removeData('is_submit_form'); },5000) $.post(parseToURL('mnew_message_form', 'savemes'), $(form).serialize(), function(data){ $(form).removeData('is_submit_form'); if(timer) clearTimeout(timer); var jsndata = $.parseJSON(data); if (jsndata.result == 'ERROR'){ alert(jsndata.errmsg); } else if (jsndata.result == 'OK') { $curlayer.find(".defaultval").html(2); $curlayer.find(".send").removeClass("cancel").html(params.text); alert(params.submit_tipmsg); form.reset(); required_pic_post_f = false; choose_pic_post_f = false; $curlayer.find('.mesform').find(".uppic_hidden").each(function(){ $(this).val(''); }); $curlayer.find('.mesform').find(".filequeue").each(function(){ $(this).html(''); $(this).css({'border':'none','height':'auto'}); }); $curlayer.find('.mesform').find(".webuploader-pick_txt").each(function(){ if(params.theme == 'ms3'){ var oldname = $(this).parents('.webuploader-container').siblings('.uppic_hidden').attr('field_name'); $(this).html(oldname); }else{ $(this).html(''); } }); var skn = params.theme; $('.radiobox, .checkbox', form).removeClass("on"); $('.btn-select > span.cur_select', form).html(function(){ var tipstr = ' --- ',$li = $(this).closest('li'); if (skn == 'ms3') tipstr = $li.children('.title').html()||' --- '; $li.find('> .inpbox > .btn-select:gt(0)').hide(); return tipstr; }); if (useauthcode == 'yes') $('img.captchapic', form).trigger("click"); wp_heightAdapt($curlayer); if(linkData){ window.location.href = linkData; } } else alert(params.reqfailed); $('span.requiredtip', form).remove(); submitflag=false; }); } }); //WebUploader 上传插件初始化 uploader = WebUploader.create({ auto: false, swf: params.Uploader_swf_url, server: parseToURL('wp_frontpage','locale_users_uploadify'), pick: {id:pickid,multiple:false}, formData:{fileType:'ico|gif|jpg|jpeg|png',maxFileSize: '2097152'},//文件上传请求的参数表,每次发送都会发送此对象中的参数。 fileVal:'Filedata', // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! resize: false, //fileNumLimit:10,//验证文件总数量, 超出则不允许加入队列。(Q_EXCEED_NUM_LIMIT) //fileSingleSizeLimit: 2 * 1024 * 1024,// 验证单个文件大小是否超出限制, 超出则不允许加入队列(F_EXCEED_SIZE) // 只允许选择图片文件。 accept: { title: 'Images', extensions: 'gif,jpg,jpeg,bmp,png', mimeTypes: mimetypestr }, thumb:{ width: 40, height: 40, quality: 70,// 图片质量,只有type为`image/jpeg`的时候才有效。 allowMagnify: true, // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false. crop: true,// 是否允许裁剪。 //type: 'image/jpeg'// 为空的话则保留原有图片格式。// 否则强制转换成指定的类型。 }, compress: { width: 1600, height: 1600, // 图片质量,只有type为`image/jpeg`的时候才有效。 quality: 90, // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false. allowMagnify: false, // 是否允许裁剪。 crop: false, // 是否保留头部meta信息。 preserveHeaders: true, // 如果发现压缩后文件大小比原来还大,则使用原来图片 // 此属性可能会影响图片自动纠正功能 noCompressIfLarger: false, // 单位字节,如果图片大小小于此值,不会采用压缩。超过2M压缩 compressSize: 2097152 }, duplicate:true }); // 开始上传 // 当文件被加入队列之前触发,此事件的handler返回值为false,则此文件不会被添加进入队列。 uploader.on( 'beforeFileQueued', function( file ) { var itemData = { 'fileID' : file.id, 'instanceID' : file.id, 'fileName' : file.name, 'fileSize' : WebUploader.formatSize(file.size), 'cancelpng' : params.cancel_png, 'className' : 'uploadifyQueueItem' } // Create the file item template var itemTemplate = '
\
\ \
\ ${fileName} (${fileSize})\ \
'; // Replace the item data in the template var itemHTML = itemTemplate; for (var d in itemData) { itemHTML = itemHTML.replace(new RegExp('\\$\\{' + d + '\\}', 'g'), itemData[d]); } // Add the file item to the queue var $chooser = $('.fileQueue_chooser_'+window.id); var oldfileid = $chooser.find(".uploadifyQueueItem").attr("id"); if($chooser.children().length){ var queen_exitfile = uploader.getFile(oldfileid); if(queen_exitfile) uploader.removeFile(queen_exitfile,true); $chooser.empty(itemHTML); }else{ $chooser.css({'border':'1px solid #dedede'}); if(params.theme == 'ms4'){ var filequeen_height = $chooser.parents("li:eq(0)").outerHeight(true); $chooser.css({'border':'1px solid #dedede','height':filequeen_height-2}); $chooser.parent('.inpbox').height('auto'); } } $chooser.append(itemHTML); $chooser.siblings('.'+params.layerid+'user_pic_upload').children('.webuploader-pick').find('.webuploader-pick_txt').html(params.selected_pic); if ($chooser.children('.jscroll-c').length) $chooser = $chooser.children('.jscroll-c'); }); var required_pic_post_f = ''; var choose_pic_post_f = ''; //当文件被加入队列以后触发 uploader.on( 'fileQueued', function( file ) { $curlayer.find('.mesform').find(".uppic_hidden").each(function(){ var is_required = $(this).attr("required"); if(is_required){ var is_add_queen = $(this).siblings('.filequeue').html(); if(is_add_queen){ $(this).parents('li').find('span.requiredtip').remove(); $(this).parents('li').find('input[name=file]').removeAttr('required') .removeAttr('aria-required').removeAttr('aria-invalid'); } } }); //图片加入队列后生成缩略图 uploader.makeThumb( file, function( error, src ) { if ( error ) { $("."+file.id).replaceWith('不能预览'); return; } $("."+file.id).attr( 'src', src ); }, 1, 1 ); //Remove item $('#'+file.id+' a.WebupRemove').click(function(){ if(params.theme == 'ms3'){ var oldname = $(this).parents('.filequeue').siblings('.uppic_hidden').attr('field_name'); $(this).parents('.filequeue').siblings('.'+params.layerid+'user_pic_upload').children('.webuploader-pick').find('.webuploader-pick_txt').html(oldname); }else{ $(this).parents('.filequeue').siblings('.'+params.layerid+'user_pic_upload').children('.webuploader-pick').find('.webuploader-pick_txt').html(''); } $(this).parents('.filequeue').css({'border':'none','height':'auto'}); $('#'+file.id).remove(); uploader.removeFile(file,true); wp_heightAdapt($curlayer); }); wp_heightAdapt($curlayer); }) // 文件上传过程中创建进度条实时显示。 //当validate不通过时,会以派送错误事件的形式通知调用者 uploader.on('error', function(file,max,fileobj){ if(file=='F_EXCEED_SIZE'){ //验证单个文件大小 fileSingleSizeLimit var uploadsize= max/1024/1024; getQueenItem(fileobj.id).find('.percentage').css('color','red').html(params.maxfile_size+((uploadsize>=1?uploadsize+'MB':uploadsize*1024+"KB"))); }else if(file=='Q_EXCEED_NUM_LIMIT'){ //验证文件总数量 fileNumLimit $('#'+fileobj.id).remove(); uploader.removeFile(fileobj,true); }else if(file=='Q_TYPE_DENIED'){ //验证类型 Q_TYPE_DENIED getQueenItem(max.id).find('.percentage').css('color','red').html(params.illegal_format); } //Remove item $('#'+fileobj.id+' a.WebupRemove').click(function(){ if(params.theme == 'ms3'){ var oldname = $(this).parents('.filequeue').siblings('.uppic_hidden').attr('field_name'); $(this).parents('.filequeue').siblings('.'+params.layerid+'user_pic_upload').children('.webuploader-pick').find('.webuploader-pick_txt').html(oldname); }else{ $(this).parents('.filequeue').siblings('.'+params.layerid+'user_pic_upload').children('.webuploader-pick').find('.webuploader-pick_txt').html(''); } $(this).parents('.filequeue').css({'border':'none','height':'auto'}); $('#'+fileobj.id).remove(); wp_heightAdapt($curlayer); }); wp_heightAdapt($curlayer); }); // 文件成功、失败处理 uploader.on( 'uploadSuccess', function( file,result ) { var fname = result.fname; $("#"+file.id).parent().next("input:hidden").val(fname); if(result.result=='ERROR'){ var $li = $( '#'+file.id ), $percent = $li.find('.percentage'); $percent.css('color','red').html(' - '+ result.errmsg); } }); uploader.on( 'uploadError', function( file ) { alert(params.uplfailed); var $li = $( '#'+file.id ), $percent = $li.find('.percentage'); $percent.css('color','red').html(' - '+ params.uplfailed); }); uploader.on( 'uploadComplete', function( file ) { //图片类必填项图片是否全部上传 $curlayer.find('.mesform').find(".uppic_hidden").each(function(){ var is_required = $(this).attr("required"); var imgstr = $(this).val(); if(is_required){ if(imgstr == ''){ required_pic_post_f = false; return false; }else{ required_pic_post_f = true; } } }) //选择上传的图片是否全部上传 $curlayer.find('.mesform').find(".filequeue").each(function(){ var uppic_hidden_node = $(this).siblings('.uppic_hidden'); var is_choose_pic = $(this).html(); var imgstr2 = uppic_hidden_node.val(); if(is_choose_pic !=''){ if(imgstr2 == ''){ choose_pic_post_f = false; return false; }else{ choose_pic_post_f = true; } } }) if(choose_pic_post_f){ $curlayer.find('.btnsubmit').click(); } }); function checks($curlayer,type,params){ var rbool = false; var radiorequired = ''; if("radio"== type){ radiorequired=params.requiredradios }else{ radiorequired=params.reqchecks } if(radiorequired && radiorequired.length){ for(var i=0;i 0) $reqtip.remove(); var _top = $tiparent.outerHeight(),tipmsg = params['tipmsg']['isrequired']; $tiparent.css("position", 'relative').append('' +tipmsg+''); rbool = true; }else{ var el=$curlayer.find('input[name="'+radioname+'"]'); var $tiparent = el.closest('.inpbox'),$reqtip = $tiparent.children('.requiredtip'); if ($reqtip.length > 0) $reqtip.remove(); } } } return rbool; } })(); $curlayer.find('a.btnsubmit').bind("touchstart touchend", function(e){ $(this)[(e.type == 'touchstart')?'addClass':'removeClass']("on"); }).unbind('click').click(function(){ if(submitflag==true){return false;} var vercodeShow = $curlayer.find("input[name=vercode]").css('display'); var duanxinShow = $curlayer.find("input[name=verify]").css('display'); if (vercodeShow == "inline-block" && duanxinShow == 'block') { $curlayer.find("input[name=vercode]").attr('required',true); } // 当上传图片设置为必填项时,提示语和其他必填项保持一致 $curlayer.find('.mesform').find(".uppic_hidden").each(function(){ var has_re_pic_upload = $curlayer.find('.mesform .uppic_hidden[required]').length; if (has_re_pic_upload) { var is_required = $(this).attr("required"); if(is_required){ var is_add_queen = $(this).siblings('.filequeue').html(); if(!$(this).parents('li').find('input[name=file]').attr('required') && is_add_queen == ''){ $(this).parents('li').find('input[name=file]').attr('required','required'); } if(is_add_queen == ''){ var pictipmsg = params['tipmsg']['isrequired']; var vcodetiparent = $(this).siblings('.webuploader-container'); var vcodereqtip = vcodetiparent.find('span.requiredtip'); if (vcodereqtip.length > 0) vcodereqtip.remove(); var _top = vcodetiparent.outerHeight(); vcodetiparent.append('' +pictipmsg+''); } } } }); // 增加手机短信验证码未填写时提示信息 if($curlayer.find("input[data-rule-mobile=true]").val() && !$curlayer.find("input[name=verify]").val()){ var codetipmsg = params['tipmsg']['isrequired']; var vcodetiparent = $curlayer.find("a.send"); var vcodereqtip = vcodetiparent.children('.requiredtip'); if (vcodereqtip.length > 0) vcodereqtip.remove(); var _top = vcodetiparent.outerHeight(); vcodetiparent.append('' +codetipmsg+''); $curlayer.find("input[name=verify]").attr('required','requierd'); } $curlayer.find('.mesform').submit(); }); }