/* artDialog v6.0.2 | https://github.com/aui/artDialog */
!function(){function a(b){var d=c[b],e="exports";return"object"==typeof d?d:(d[e]||(d[e]={},d[e]=d.call(d[e],a,d[e],d)||d[e]),d[e])}function b(a,b){c[a]=b}var c={};b("jquery",function(){return jQuery}),b("popup",function(a){function b(){this.destroyed=!1,this.__popup=c("
").attr({tabindex:"-1"}).css({display:"none",position:"absolute",outline:0}).html(this.innerHTML).appendTo("body"),this.__backdrop=c(""),this.node=this.__popup[0],this.backdrop=this.__backdrop[0],d++}var c=a("jquery"),d=0,e=!("minWidth"in c("html")[0].style),f=!e;return c.extend(b.prototype,{node:null,backdrop:null,fixed:!1,destroyed:!0,open:!1,returnValue:"",autofocus:!0,align:"bottom left",backdropBackground:"#000",backdropOpacity:.7,innerHTML:"",className:"ui-popup",show:function(a){if(this.destroyed)return this;var b=this,d=this.__popup;return this.__activeElement=this.__getActive(),this.open=!0,this.follow=a||this.follow,this.__ready||(d.addClass(this.className),this.modal&&this.__lock(),d.html()||d.html(this.innerHTML),e||c(window).on("resize",this.__onresize=function(){b.reset()}),this.__ready=!0),d.addClass(this.className+"-show").attr("role",this.modal?"alertdialog":"dialog").css("position",this.fixed?"fixed":"absolute").fadeIn(300),this.__backdrop.show(),this.reset().focus(),this.__dispatchEvent("show"),this},showModal:function(){return this.modal=!0,this.show.apply(this,arguments)},close:function(a){return!this.destroyed&&this.open&&(void 0!==a&&(this.returnValue=a),this.__popup.hide().removeClass(this.className+"-show"),this.__backdrop.hide(),this.open=!1,this.blur(),this.__dispatchEvent("close")),this},remove:function(){if(this.destroyed)return this;this.__dispatchEvent("beforeremove"),b.current===this&&(b.current=null),this.__unlock(),this.__popup.remove(),this.__backdrop.remove(),e||c(window).off("resize",this.__onresize),this.__dispatchEvent("remove");for(var a in this)delete this[a];return this},reset:function(){var a=this.follow;return a?this.__follow(a):this.__center(),this.__dispatchEvent("reset"),this},focus:function(){var a=this.node,d=b.current;if(d&&d!==this&&d.blur(!1),!c.contains(a,this.__getActive())){var e=this.__popup.find("[autofocus]")[0];!this._autofocus&&e?this._autofocus=!0:e=a,this.__focus(e)}return b.current=this,this.__popup.addClass(this.className+"-focus"),this.__zIndex(),this.__dispatchEvent("focus"),this},blur:function(){var a=this.__activeElement,b=arguments[0];return b!==!1&&this.__focus(a),this._autofocus=!1,this.__popup.removeClass(this.className+"-focus"),this.__dispatchEvent("blur"),this},addEventListener:function(a,b){return this.__getEventListener(a).push(b),this},removeEventListener:function(a,b){for(var c=this.__getEventListener(a),d=0;dH[E[b]][1]&&(b=B[a]=D[b]),F[a][b]Loading..',title:"",statusbar:"",button:null,ok:null,cancel:null,okValue:"纭畾",cancelValue:"鍙栨秷",cancelDisplay:!0,width:"",height:"",padding:"",skin:"",quickClose:!1,cssUri:"../css/ui-dialog.css",innerHTML:''}),b("dialog",function(a){var b=a("jquery"),c=a("popup"),d=a("dialog-config"),e=d.cssUri;if(e){var f=a[a.toUrl?"toUrl":"resolve"];f&&(e=f(e),e='',b("base")[0]?b("base").before(e):b("head").append(e))}var g=0,h=new Date-0,i=!("minWidth"in b("html")[0].style),j="createTouch"in document&&!("onmousemove"in document)||/(iPhone|iPad|iPod)/i.test(navigator.userAgent),k=!i&&!j,l=function(a,c,d){var e=a=a||{};("string"==typeof a||1===a.nodeType)&&(a={content:a,fixed:!j}),a=b.extend(!0,{},l.defaults,a),a._=e;var f=a.id=a.id||h+g,i=l.get(f);return i?i.focus():(k||(a.fixed=!1),a.quickClose&&(a.modal=!0,e.backdropOpacity||(a.backdropOpacity=0)),b.isArray(a.button)||(a.button=[]),void 0!==d&&(a.cancel=d),a.cancel&&a.button.push({id:"cancel",className:"default",value:a.cancelValue,callback:a.cancel,display:a.cancelDisplay}),void 0!==c&&(a.ok=c),a.ok&&a.button.push({id:"ok",className:"primary",value:a.okValue,callback:a.ok,autofocus:!0}),l.list[f]=new l.create(a))},m=function(){};m.prototype=c.prototype;var n=l.prototype=new m;return l.create=function(a){var d=this;b.extend(this,new c);var e=b(this.node).html(a.innerHTML);return this.options=a,this._popup=e,b.each(a,function(a,b){"function"==typeof d[a]?d[a](b):d[a]=b}),a.zIndex&&(c.zIndex=a.zIndex),e.attr({"aria-labelledby":this._$("title").attr("id","title:"+this.id).attr("id"),"aria-describedby":this._$("content").attr("id","content:"+this.id).attr("id")}),this._$("close").css("display",this.cancel===!1?"none":"").attr("title",this.cancelValue).on("click",function(a){d._trigger("cancel"),a.preventDefault()}),this._$("dialog").addClass(this.skin),e.on("click","[data-id]",function(a){var c=b(this);c.attr("disabled")||d._trigger(c.data("id")),a.preventDefault()}),a.quickClose&&b(this.backdrop).on("onmousedown"in document?"mousedown":"click",function(){return d._trigger("cancel"),!1}),this._esc=function(a){var b=a.target,e=b.nodeName,f=/^input|textarea$/i,g=c.current===d,h=a.keyCode;!g||f.test(e)&&"button"!==b.type||27===h&&d._trigger("cancel")},b(document).on("keydown",this._esc),this.addEventListener("remove",function(){b(document).off("keydown",this._esc),delete l.list[this.id]}),g++,l.oncreate(this),this},l.create.prototype=n,b.extend(n,{content:function(a){return this._$("content").empty("")["object"==typeof a?"append":"html"](a),this.reset()},title:function(a){return this._$("title").text(a),this._$("header")[a?"show":"hide"](),this},width:function(a){return this._$("content").css("width",a),this.reset()},height:function(a){return this._$("content").css("height",a),this.reset()},button:function(a){a=a||[];var c=this,d="",e=0;return this.callbacks={},"string"==typeof a?d=a:b.each(a,function(a,b){b.id=b.id||b.value,c.callbacks[b.id]=b.callback;var f="";b.display===!1?f=' style="display:none"':e++,d+=' '}),this._$("footer")[e?"show":"hide"](),this._$("button").html(d),this},statusbar:function(a){return this._$("statusbar").html(a)[a?"show":"hide"](),this},_$:function(a){return this._popup.find("[i="+a+"]")},_trigger:function(a){var b=this.callbacks[a];return"function"!=typeof b||b.call(this)!==!1?this.close().remove():this}}),l.oncreate=b.noop,l.getCurrent=function(){return c.current},l.get=function(a){return void 0===a?l.list:l.list[a]},l.list={},l.defaults=d,l}),b("drag",function(a){var b=a("jquery"),c=b(window),d=b(document),e="createTouch"in document,f=document.documentElement,g=!("minWidth"in f.style),h=!g&&"onlosecapture"in f,i="setCapture"in f,j={start:e?"touchstart":"mousedown",over:e?"touchmove":"mousemove",end:e?"touchend":"mouseup"},k=e?function(a){return a.touches||(a=a.originalEvent.touches.item(0)),a}:function(a){return a},l=function(){this.start=b.proxy(this.start,this),this.over=b.proxy(this.over,this),this.end=b.proxy(this.end,this),this.onstart=this.onover=this.onend=b.noop};return l.types=j,l.prototype={start:function(a){return a=this.startFix(a),d.on(j.over,this.over).on(j.end,this.end),this.onstart(a),!1},over:function(a){return a=this.overFix(a),this.onover(a),!1},end:function(a){return a=this.endFix(a),d.off(j.over,this.over).off(j.end,this.end),this.onend(a),!1},startFix:function(a){return a=k(a),this.target=b(a.target),this.selectstart=function(){return!1},d.on("selectstart",this.selectstart).on("dblclick",this.end),h?this.target.on("losecapture",this.end):c.on("blur",this.end),i&&this.target[0].setCapture(),a},overFix:function(a){return a=k(a)},endFix:function(a){return a=k(a),d.off("selectstart",this.selectstart).off("dblclick",this.end),h?this.target.off("losecapture",this.end):c.off("blur",this.end),i&&this.target[0].releaseCapture(),a}},l.create=function(a,e){var f,g,h,i,j=b(a),k=new l,m=l.types.start,n=function(){},o=a.className.replace(/^\s|\s.*/g,"")+"-drag-start",p={onstart:n,onover:n,onend:n,off:function(){j.off(m,k.start)}};return k.onstart=function(b){var e="fixed"===j.css("position"),k=d.scrollLeft(),l=d.scrollTop(),m=j.width(),n=j.height();f=0,g=0,h=e?c.width()-m+f:d.width()-m,i=e?c.height()-n+g:d.height()-n;var q=j.offset(),r=this.startLeft=e?q.left-k:q.left,s=this.startTop=e?q.top-l:q.top;this.clientX=b.clientX,this.clientY=b.clientY,j.addClass(o),p.onstart.call(a,b,r,s)},k.onover=function(b){var c=b.clientX-this.clientX+this.startLeft,d=b.clientY-this.clientY+this.startTop,e=j[0].style;c=Math.max(f,Math.min(h,c)),d=Math.max(g,Math.min(i,d)),e.left=c+"px",e.top=d+"px",p.onover.call(a,b,c,d)},k.onend=function(b){var c=j.position(),d=c.left,e=c.top;j.removeClass(o),p.onend.call(a,b,d,e)},k.off=function(){j.off(m,k.start)},e?k.start(e):j.on(m,k.start),p},l}),b("dialog-plus",function(a){var b=a("jquery"),c=a("dialog"),d=a("drag");return c.oncreate=function(a){var c,e=a.options,f=e._,g=e.url,h=e.oniframeload;if(g&&(this.padding=e.padding=0,c=b(""),c.attr({src:g,name:a.id,width:"100%",height:"100%",allowtransparency:"yes",frameborder:"no",scrolling:"no"}).on("load",function(){var b;try{b=c[0].contentWindow.frameElement}catch(d){}b&&(e.width||a.width(c.contents().width()),e.height||a.height(c.contents().height())),h&&h.call(a)}),a.addEventListener("beforeremove",function(){c.attr("src","about:blank").remove()},!1),a.content(c[0]),a.iframeNode=c[0]),!(f instanceof Object))for(var i=function(){a.close().remove()},j=0;jpop box,2=>side tip(parent.next.find; with default pop),3=>side tip(siblings; with default pop),4=>side tip(siblings; none pop)锛岄粯璁や负1锛屼篃鍙互浼犲叆涓€涓猣unction鍑芥暟锛岃嚜瀹氫箟鎻愮ず淇℃伅鐨勬樉绀烘柟寮忥紙鍙互瀹炵幇浣犳兂瑕佺殑浠讳綍鏁堟灉锛屽叿浣撳弬瑙乨emo椤碉級;
ignoreHidden:false,//鍙€夐」 true | false 榛樿涓篺alse锛屽綋涓簍rue鏃跺:hidden鐨勮〃鍗曞厓绱犲皢涓嶅仛楠岃瘉;
dragonfly:false,//鍙€夐」 true | false 榛樿false锛屽綋涓簍rue鏃讹紝鍊间负绌烘椂涓嶅仛楠岃瘉锛
tipSweep:true,//鍙€夐」 true | false 榛樿涓篺alse锛屽彧鍦ㄨ〃鍗曟彁浜ゆ椂瑙﹀彂妫€娴嬶紝blur浜嬩欢灏嗕笉浼氳Е鍙戞娴嬶紙瀹炴椂楠岃瘉浼氬湪鍚庡彴杩涜锛屼笉浼氭樉绀烘娴嬬粨鏋滐級;
label:".label",//鍙€夐」 閫夋嫨绗︼紝鍦ㄦ病鏈夌粦瀹歯ullmsg鏃舵煡鎵捐鏄剧ず鐨勬彁绀烘枃瀛楋紝榛樿鏌ユ壘".Validform_label"涓嬬殑鏂囧瓧;
showAllError:false,//鍙€夐」 true | false锛宼rue锛氭彁浜よ〃鍗曟椂鎵€鏈夐敊璇彁绀轰俊鎭兘浼氭樉绀猴紝false锛氫竴纰板埌楠岃瘉涓嶉€氳繃鐨勫氨鍋滄妫€娴嬪悗闈㈢殑鍏冪礌锛屽彧鏄剧ず璇ュ厓绱犵殑閿欒淇℃伅;
postonce:true, //鍙€夐」 琛ㄥ崟鏄惁鍙兘鎻愪氦涓€娆★紝true寮€鍚紝涓嶅~鍒欓粯璁ゅ叧闂?
ajaxPost:true, //浣跨敤ajax鏂瑰紡鎻愪氦琛ㄥ崟鏁版嵁锛岄粯璁alse锛屾彁浜ゅ湴鍧€灏辨槸action鎸囧畾鍦板潃;
datatype:{//浼犲叆鑷畾涔塪atatype绫诲瀷锛屽彲浠ユ槸姝e垯锛屼篃鍙互鏄嚱鏁帮紙鍑芥暟鍐呬細浼犲叆涓€涓弬鏁帮級;
"*6-20": /^[^\s]{6,20}$/,
"z2-4" : /^[\u4E00-\u9FA5\uf900-\ufa2d]{2,4}$/,
"username":function(gets,obj,curform,regxp){
//鍙傛暟gets鏄幏鍙栧埌鐨勮〃鍗曞厓绱犲€硷紝obj涓哄綋鍓嶈〃鍗曞厓绱狅紝curform涓哄綋鍓嶉獙璇佺殑琛ㄥ崟锛宺egxp涓哄唴缃殑涓€浜涙鍒欒〃杈惧紡鐨勫紩鐢?
var reg1=/^[\w\.]{4,16}$/,
reg2=/^[\u4E00-\u9FA5\uf900-\ufa2d]{2,8}$/;
if(reg1.test(gets)){return true;}
if(reg2.test(gets)){return true;}
return false;
//娉ㄦ剰return鍙互杩斿洖true 鎴 false 鎴 瀛楃涓叉枃瀛楋紝true琛ㄧず楠岃瘉閫氳繃锛岃繑鍥炲瓧绗︿覆琛ㄧず楠岃瘉澶辫触锛屽瓧绗︿覆浣滀负閿欒鎻愮ず鏄剧ず锛岃繑鍥瀎alse鍒欑敤errmsg鎴栭粯璁ょ殑閿欒鎻愮ず;
},
"phone":function(){
// 5.0 鐗堟湰涔嬪悗锛岃瀹炵幇浜岄€変竴鐨勯獙璇佹晥鏋滐紝datatype 鐨勫悕绉 涓 闇€瑕佷互 "option_" 寮€澶雏
}
},
usePlugin:{
swfupload:{},
datepicker:{},
passwordstrength:{},
jqtransform:{
selector:"select,input"
}
},
beforeCheck:function(curform){
//鍦ㄨ〃鍗曟彁浜ゆ墽琛岄獙璇佷箣鍓嶆墽琛岀殑鍑芥暟锛宑urform鍙傛暟鏄綋鍓嶈〃鍗曞璞°€
//杩欓噷鏄庣‘return false鐨勮瘽灏嗕笉浼氱户缁墽琛岄獙璇佹搷浣淃
},
beforeSubmit:function(curform){
//鍦ㄩ獙璇佹垚鍔熷悗锛岃〃鍗曟彁浜ゅ墠鎵ц鐨勫嚱鏁帮紝curform鍙傛暟鏄綋鍓嶈〃鍗曞璞°€
//杩欓噷鏄庣‘return false鐨勮瘽琛ㄥ崟灏嗕笉浼氭彁浜{
},
callback:function(data){
//杩斿洖鏁版嵁data鏄痡son鏍煎紡锛寋"info":"demo info","status":"y"}
//info: 杈撳嚭鎻愮ず淇℃伅;
//status: 杩斿洖鎻愪氦鏁版嵁鐨勭姸鎬?鏄惁鎻愪氦鎴愬姛銆傚鍙互鐢?y"琛ㄧず鎻愪氦鎴愬姛锛?n"琛ㄧず鎻愪氦澶辫触锛屽湪ajax_post.php鏂囦欢杩斿洖鏁版嵁閲岃嚜瀹氬瓧绗︼紝涓昏鐢ㄥ湪callback鍑芥暟閲屾牴鎹鍊兼墽琛岀浉搴旂殑鍥炶皟鎿嶄綔;
//浣犱篃鍙互鍦╝jax_post.php鏂囦欢杩斿洖鏇村淇℃伅鍦ㄨ繖閲岃幏鍙栵紝杩涜鐩稿簲鎿嶄綔锛
//ajax閬囧埌鏈嶅姟绔敊璇椂涔熶細鎵ц鍥炶皟锛岃繖鏃剁殑data鏄瘂 status:**, statusText:**, readyState:**, responseText:** }锛
//杩欓噷鎵ц鍥炶皟鎿嶄綔;
//娉ㄦ剰锛氬鏋滀笉鏄痑jax鏂瑰紡鎻愪氦琛ㄥ崟锛屼紶鍏allback锛岃繖鏃禿ata鍙傛暟鏄綋鍓嶈〃鍗曞璞★紝鍥炶皟鍑芥暟浼氬湪琛ㄥ崟楠岃瘉鍏ㄩ儴閫氳繃鍚庢墽琛岋紝鐒跺悗鍒ゆ柇鏄惁鎻愪氦琛ㄥ崟锛屽鏋渃allback閲屾槑纭畆eturn false锛屽垯琛ㄥ崟涓嶄細鎻愪氦锛屽鏋渞eturn true鎴栨病鏈塺eturn锛屽垯浼氭彁浜よ〃鍗曘€
}
});
Validform瀵硅薄鐨勬柟娉曞拰灞炴€э細
tipmsg锛氳嚜瀹氫箟鎻愮ず淇℃伅锛岄€氳繃淇敼Validform瀵硅薄鐨勮繖涓睘鎬у€兼潵璁╁悓涓€涓〉闈㈢殑涓嶅悓琛ㄥ崟浣跨敤涓嶅悓鐨勬彁绀烘枃瀛楋紱
dataType锛氳幏鍙栧唴缃殑涓€浜涙鍒欙紱
eq(n)锛氳幏鍙朧alidform瀵硅薄鐨勭n涓厓绱燐
ajaxPost(flag,sync,url)锛氫互ajax鏂瑰紡鎻愪氦琛ㄥ崟銆俧lag涓簍rue鏃讹紝璺宠繃楠岃瘉鐩存帴鎻愪氦锛宻ync涓簍rue鏃跺皢浠ュ悓姝ョ殑鏂瑰紡杩涜ajax鎻愪氦锛屼紶鍏ヤ簡url鍦板潃鏃讹紝琛ㄥ崟浼氭彁浜ゅ埌杩欎釜鍦板潃锛
abort()锛氱粓姝jax鐨勬彁浜わ紱
submitForm(flag,url)锛氫互鍙傛暟閲岃缃殑鏂瑰紡鎻愪氦琛ㄥ崟锛宖lag涓簍rue鏃讹紝璺宠繃楠岃瘉鐩存帴鎻愪氦锛屼紶鍏ヤ簡url鍦板潃鏃讹紝琛ㄥ崟浼氭彁浜ゅ埌杩欎釜鍦板潃锛
resetForm()锛氶噸缃〃鍗曪紱
resetStatus()锛氶噸缃〃鍗曠殑鎻愪氦鐘舵€併€備紶鍏ヤ簡postonce鍙傛暟鐨勮瘽锛岃〃鍗曟垚鍔熸彁浜ゅ悗鐘舵€佷細璁剧疆涓?posted"锛岄噸缃彁浜ょ姸鎬佸彲浠ヨ琛ㄥ崟缁х画鍙互鎻愪氦锛
getStatus()锛氳幏鍙栬〃鍗曠殑鎻愪氦鐘舵€侊紝normal锛氭湭鎻愪氦锛宲osting锛氭鍦ㄦ彁浜わ紝posted锛氬凡鎴愬姛鎻愪氦杩囷紱
setStatus(status)锛氳缃〃鍗曠殑鎻愪氦鐘舵€侊紝鍙互璁剧疆normal锛宲osting锛宲osted涓夌鐘舵€侊紝涓嶄紶鍙傚垯璁剧疆鐘舵€佷负posting锛岃繖涓姸鎬佽〃鍗曞彲浠ラ獙璇侊紝浣嗕笉鑳芥彁浜わ紱
ignore(selector)锛氬拷鐣ュ鎵€閫夋嫨瀵硅薄鐨勯獙璇侊紱
unignore(selector)锛氬皢ignore鏂规硶鎵€蹇界暐楠岃瘉鐨勫璞¢噸鏂拌幏鍙栭獙璇佹晥鏋滐紱
addRule(rule)锛氬彲浠ラ€氳繃Validform瀵硅薄鐨勮繖涓柟娉曟潵缁欒〃鍗曞厓绱犵粦瀹氶獙璇佽鍒欙紱
check(bool,selector):瀵规寚瀹氬璞¤繘琛岄獙璇?榛樿楠岃瘉褰撳墠鏁翠釜琛ㄥ崟)锛岄€氳繃杩斿洖true锛屽惁鍒欒繑鍥瀎alse锛堢粦瀹氬疄鏃堕獙璇佺殑瀵硅薄锛屾牸寮忕鍚堣姹傛椂杩斿洖true锛岃€屼笉浼氱瓑ajax鐨勮繑鍥炵粨鏋滐級锛宐ool涓簍rue鏃跺垯鍙獙璇佷笉鏄剧ず鎻愮ず淇℃伅锛
config(setup):鍙互閫氳繃杩欎釜鏂规硶鏉ヤ慨鏀瑰垵濮嬪寲鍙傛暟锛屾寚瀹氳〃鍗曠殑鎻愪氦鍦板潃锛岀粰琛ㄥ崟ajax鍜屽疄鏃堕獙璇佺殑ajax閲岃缃弬鏁帮紱
*/
(function($,win,undef){
var errorobj=null,msgobj=null;//pop box object
var tipmsg={//榛樿鎻愮ず鏂囧瓧;
tit:"鎻愮ず淇℃伅",
w:{
"*":"涓嶈兘涓虹┖锛?,
"*6-16":"璇峰~鍐?鍒?6浣嶄换鎰忓瓧绗︼紒",
"n":"璇峰~鍐欐暟瀛楋紒",
"n6-16":"璇峰~鍐?鍒?6浣嶆暟瀛楋紒",
"s":"涓嶈兘杈撳叆鐗规畩瀛楃锛?,
"s6-18":"璇峰~鍐?鍒?8浣嶅瓧绗︼紒",
"p":"璇峰~鍐欓偖鏀跨紪鐮侊紒",
"m":"璇峰~鍐欐墜鏈哄彿鐮侊紒",
"e":"閭鍦板潃鏍煎紡涓嶅锛?,
"url":"璇峰~鍐欑綉鍧€锛?,
"money":"璇峰~鍐欐纭殑閲戦锛?
},
def:"璇峰~鍐欐纭俊鎭紒",
undef:"datatype鏈畾涔夛紒",
reck:"涓ゆ杈撳叆鐨勫唴瀹逛笉涓€鑷达紒",
r:"",
c:"姝e湪妫€娴嬩俊鎭€?,
s:"璇穥濉啓|閫夋嫨}{0|淇℃伅}锛?,
v:"鎵€濉俊鎭病鏈夌粡杩囬獙璇侊紝璇风◢鍚庘€?,
// p:"鏁版嵁姝e湪鎻愪氦涓?.."
}
$.Tipmsg=tipmsg;
var Validform=function(forms,settings,inited){
var settings=$.extend({},Validform.defaults,settings);
settings.datatype && $.extend(Validform.util.dataType,settings.datatype);
var brothers=this;
brothers.tipmsg={w:{}};
brothers.forms=forms;
brothers.objects=[];
//鍒涘缓瀛愬璞℃椂涓嶅啀缁戝畾浜嬩欢;
if(inited===true){
return false;
}
forms.each(function(){
//宸茬粡缁戝畾浜嬩欢鏃惰烦杩囷紝閬垮厤浜嬩欢閲嶅缁戝畾;
if(this.validform_inited=="inited"){return true;}
this.validform_inited="inited";
var curform=this;
curform.settings=$.extend({},settings);
var $this=$(curform);
//闃叉琛ㄥ崟鎸夐挳鍙屽嚮鎻愪氦涓ゆ;
curform.validform_status="normal"; //normal | posting | posted;
//璁╂瘡涓猇alidform瀵硅薄閮借兘鑷畾涔塼ipmsg;
$this.data("tipmsg",brothers.tipmsg);
//bind the blur event;
$this.delegate("[datatype]","blur",function(){
//鍒ゆ柇鏄惁鏄湪鎻愪氦琛ㄥ崟鎿嶄綔鏃惰Е鍙戠殑楠岃瘉璇锋眰锛
var subpost=arguments[1];
Validform.util.check.call(this,$this,subpost);
});
$this.delegate(":text","keypress",function(event){
if(event.keyCode==13 && $this.find(":submit").length==0){
$this.submit();
}
});
//鐐瑰嚮琛ㄥ崟鍏冪礌锛岄粯璁ゆ枃瀛楁秷澶辨晥鏋淃
//琛ㄥ崟鍏冪礌鍊兼瘮杈冩椂鐨勪俊鎭彁绀哄寮果
//radio銆乧heckbox鎻愮ず淇℃伅澧炲己;
//澶栬皟鎻掍欢鍒濆鍖曽
Validform.util.enhance.call($this,curform.settings.tiptype,curform.settings.usePlugin,curform.settings.tipSweep);
curform.settings.btnSubmit && $this.find(curform.settings.btnSubmit).bind("click",function(){
$this.trigger("submit");
return false;
});
$this.submit(function(){
var subflag=Validform.util.submitForm.call($this,curform.settings);
subflag === undef && (subflag=true);
return subflag;
});
$this.find("[type='reset']").add($this.find(curform.settings.btnReset)).bind("click",function(){
Validform.util.resetForm.call($this);
});
});
}
Validform.defaults={
tiptype:1,
tipSweep:false,
showAllError:false,
postonce:false,
ajaxPost:true,
beforeSubmit:function(curform){
//鍦ㄩ獙璇佹垚鍔熷悗锛岃〃鍗曟彁浜ゅ墠鎵ц鐨勫嚱鏁帮紝curform鍙傛暟鏄綋鍓嶈〃鍗曞璞°€
//杩欓噷鏄庣‘return false鐨勮瘽琛ㄥ崟灏嗕笉浼氭彁浜{
try {
if (curform.attr("func") != 'undefined') {
var funcSuffix = 'beforeCallback' + curform.attr("func");
if (typeof(eval(funcSuffix)) == "function") {
callback = eval(funcSuffix + "(curform)");
if (!callback) {
return false;
}
}
}
} catch (e) {}
},
callback: function (curform,data){
try {
if (curform.attr("func") != 'undefined') {
var funcSuffix = 'afterCallback' + curform.attr("func");
if (typeof(eval(funcSuffix)) == "function") {
callback = eval(funcSuffix + "(curform,data)");
if (!callback) {
return false
}
}
}
} catch (e) {}
if(data.status==1){
setTimeout(function(){
location.href = data.url;
},1000);
}
}
}
Validform.util={
dataType:{
"*":/[\w\W]+/,
"*6-16":/^[\w\W]{6,16}$/,
"n":/^\d+$/,
"n6-16":/^\d{6,16}$/,
"s":/^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]+$/,
"s6-18":/^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$/,
"p":/^[0-9]{6}$/,
"m":/^1[3|4|5|7|8][0-9]{9}$/,
"e":/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
"url":/^(\w+:\/\/)?\w+(\.\w+)+.*$/,
"money":/^-?[1-9]+(\.\d+)?$|^-?0(\.\d+)?$|^-?[1-9]+[0-9]*(\.\d+)?$/,
"f":/^[0-9]+(.[0-9]{0,9})?$/,
/* 8-30浣嶅瘑鐮侊紙蹇呴』鍖呭惈鏁板瓧瀛楁瘝鍜岀壒娈婂瓧绗︼級*/
"pwd":/(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}$/,
/* 8-30浣嶅瘑鐮侊紙蹇呴』鍖呭惈鏁板瓧鍜屽瓧姣嶏級*/
"pwd_num_str":/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{8,30}$/,
"fixed":/^(?!.{0})(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/,
"decimal":function(gets,obj,curform,regxp){//楠岃瘉灏忔暟
return true && (gets.length == 0 || /^[1-9]\d*(\.\d{1,2})?$|^0(\.\d{1,2})?$/.test(gets));
},
"gt":function(gets,obj,curform,regxp){//澶т簬
return true && (!obj.data('gt_than') || gets > obj.data('gt_than'));
},
"egt":function(gets,obj,curform,regxp){//澶т簬绛変簬
return true && (!obj.data('gt_than') || gets >= obj.data('gt_than'));
},
"lt":function(gets,obj,curform,regxp){//灏忎簬
return true && (!obj.data('lt_than') || ( gets>0 && gets < obj.data('lt_than')));
},
"elt":function(gets,obj,curform,regxp){//灏忎簬绛変簬
return true && (!obj.data('lt_than') || ( gets>0 && gets <= obj.data('lt_than')));
},
"idcard":function(gets,obj,curform,datatype){//楠岃瘉韬唤璇
var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];// 鍔犳潈鍥犲瓙;
var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];// 韬唤璇侀獙璇佷綅鍊硷紝10浠h〃X;
var _result = false;
switch(gets.length){
case 0:
return true;
case 15:
_result = isValidityBrithBy15IdCard(gets);
break;
case 18:
_result = isValidityBrithBy18IdCard(gets)&&isTrueValidateCodeBy18IdCard(gets.split(""));
break;
default:
;
}
return _result;
function isTrueValidateCodeBy18IdCard(a_idCard) {
var sum = 0; // 澹版槑鍔犳潈姹傚拰鍙橀噺
if (a_idCard[17].toLowerCase() == 'x') {
a_idCard[17] = 10;// 灏嗘渶鍚庝綅涓簒鐨勯獙璇佺爜鏇挎崲涓?0鏂逛究鍚庣画鎿嶄綔
}
for ( var i = 0; i < 17; i++) {
sum += Wi[i] * a_idCard[i];// 鍔犳潈姹傚拰
}
valCodePosition = sum % 11;// 寰楀埌楠岃瘉鐮佹墍浣嶇疆
if (a_idCard[17] == ValideCode[valCodePosition]) {
return true;
}
return false;
}
function isValidityBrithBy18IdCard(idCard18){
var year = idCard18.substring(6,10);
var month = idCard18.substring(10,12);
var day = idCard18.substring(12,14);
var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));
// 杩欓噷鐢╣etFullYear()鑾峰彇骞翠唤锛岄伩鍏嶅崈骞磋櫕闂
if(temp_date.getFullYear()!=parseFloat(year) || temp_date.getMonth()!=parseFloat(month)-1 || temp_date.getDate()!=parseFloat(day)){
return false;
}
return true;
}
function isValidityBrithBy15IdCard(idCard15){
var year = idCard15.substring(6,8);
var month = idCard15.substring(8,10);
var day = idCard15.substring(10,12);
var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));
// 瀵逛簬鑰佽韩浠借瘉涓殑浣犲勾榫勫垯涓嶉渶鑰冭檻鍗冨勾铏棶棰樿€屼娇鐢╣etYear()鏂规硶
if(temp_date.getYear()!=parseFloat(year) || temp_date.getMonth()!=parseFloat(month)-1 || temp_date.getDate()!=parseFloat(day)){
return false;
}
return true;
}
}
},
toString:Object.prototype.toString,
isEmpty:function(val){
return val==="" || val===$.trim(this.attr("tip"));
},
getValue:function(obj){
var inputval,
curform=this;
if(obj.is(":radio")){
inputval=curform.find(":radio[name='"+obj.attr("name")+"']:checked").val();
inputval= inputval===undef ? "" : inputval;
}else if(obj.is(":checkbox")){
inputval="";
curform.find(":checkbox[name='"+obj.attr("name")+"']:checked").each(function(){
inputval +=$(this).val()+',';
})
inputval= inputval===undef ? "" : inputval;
}else{
inputval=obj.val();
}
inputval=$.trim(inputval);
return Validform.util.isEmpty.call(obj,inputval) ? "" : inputval;
},
enhance:function(tiptype,usePlugin,tipSweep,addRule){
var curform=this;
//椤甸潰涓婁笉瀛樺湪鎻愮ず淇℃伅鐨勬爣绛炬椂锛岃嚜鍔ㄥ垱寤果
if(curform.find(".js_validTips").length<=0){
curform.find("[datatype]").each(function(){
if(tiptype==2){
if($(this).parent().parent().next().find(".Validform_checktip").length==0){
$(this).parent().next().append("");
$(this).parent().parent().find(".Validform_checktip").remove();
}
}else if(tiptype==3 || tiptype==4){
if($(this).parent().parent().find(".Validform_checktip").length==0){
$(this).parent().append("");
$(this).parent().parent().next().find(".Validform_checktip").remove();
}
}
})
}
//琛ㄥ崟鍏冪礌鍊兼瘮杈冩椂鐨勪俊鎭彁绀哄寮果
curform.find("input[recheck]").each(function(){
//宸茬粡缁戝畾浜嬩欢鏃惰烦杩嘂
if(this.validform_inited=="inited"){return true;}
this.validform_inited="inited";
var _this=$(this);
var recheckinput=curform.find("input[name='"+$(this).attr("recheck")+"']");
recheckinput.bind("keyup",function(){
if(recheckinput.val()==_this.val() && recheckinput.val() != ""){
if(recheckinput.attr("tip")){
if(recheckinput.attr("tip") == recheckinput.val()){return false;}
}
_this.trigger("blur");
}
}).bind("blur",function(){
if(recheckinput.val()!=_this.val() && _this.val()!=""){
if(_this.attr("tip")){
if(_this.attr("tip") == _this.val()){return false;}
}
_this.trigger("blur");
}
});
});
//hasDefaultText;
curform.find("[tip]").each(function(){//tip鏄〃鍗曞厓绱犵殑榛樿鎻愮ず淇℃伅,杩欐槸鐐瑰嚮娓呯┖鏁堟灉;
//宸茬粡缁戝畾浜嬩欢鏃惰烦杩嘂
if(this.validform_inited=="inited"){return true;}
this.validform_inited="inited";
var defaultvalue=$(this).attr("tip");
var altercss=$(this).attr("altercss");
$(this).focus(function(){
if($(this).val()==defaultvalue){
$(this).val('');
if(altercss){$(this).removeClass(altercss);}
}
}).blur(function(){
if($.trim($(this).val())===''){
$(this).val(defaultvalue);
if(altercss){$(this).addClass(altercss);}
}
});
});
//enhance info feedback for checkbox & radio;
curform.find(":checkbox[datatype],:radio[datatype]").each(function(){
//宸茬粡缁戝畾浜嬩欢鏃惰烦杩嘂
if(this.validform_inited=="inited"){return true;}
this.validform_inited="inited";
var _this=$(this);
var name=_this.attr("name");
curform.find("[name='"+name+"']").filter(":checkbox,:radio").bind("click",function(){
//閬垮厤澶氫釜浜嬩欢缁戝畾鏃剁殑鍙栧€兼粸鍚庨棶棰楙
setTimeout(function(){
_this.trigger("blur");
},0);
});
});
//select multiple;
curform.find("select[datatype][multiple]").bind("click",function(){
var _this=$(this);
setTimeout(function(){
_this.trigger("blur");
},0);
});
//plugins here to start;
Validform.util.usePlugin.call(curform,usePlugin,tiptype,tipSweep,addRule);
},
usePlugin:function(plugin,tiptype,tipSweep,addRule){
/*
plugin:settings.usePlugin;
tiptype:settings.tiptype;
tipSweep:settings.tipSweep;
addRule:鏄惁鍦╝ddRule鏃惰Е鍙慃
*/
var curform=this,
plugin=plugin || {};
//swfupload;
if(curform.find("input[plugin='swfupload']").length && typeof(swfuploadhandler) != "undefined"){
var custom={
custom_settings:{
form:curform,
showmsg:function(msg,type,obj){
Validform.util.showmsg.call(curform,msg,tiptype,{obj:curform.find("input[plugin='swfupload']"),type:type,sweep:tipSweep});
}
}
};
custom=$.extend(true,{},plugin.swfupload,custom);
curform.find("input[plugin='swfupload']").each(function(n){
if(this.validform_inited=="inited"){return true;}
this.validform_inited="inited";
$(this).val("");
swfuploadhandler.init(custom,n);
});
}
//datepicker;
if(curform.find("input[plugin='datepicker']").length && $.fn.datePicker){
plugin.datepicker=plugin.datepicker || {};
if(plugin.datepicker.format){
Date.format=plugin.datepicker.format;
delete plugin.datepicker.format;
}
if(plugin.datepicker.firstDayOfWeek){
Date.firstDayOfWeek=plugin.datepicker.firstDayOfWeek;
delete plugin.datepicker.firstDayOfWeek;
}
curform.find("input[plugin='datepicker']").each(function(n){
if(this.validform_inited=="inited"){return true;}
this.validform_inited="inited";
plugin.datepicker.callback && $(this).bind("dateSelected",function(){
var d=new Date( $.event._dpCache[this._dpId].getSelected()[0] ).asString(Date.format);
plugin.datepicker.callback(d,this);
});
$(this).datePicker(plugin.datepicker);
});
}
//passwordstrength;
if(curform.find("input[plugin*='passwordStrength']").length && $.fn.passwordStrength){
plugin.passwordstrength=plugin.passwordstrength || {};
plugin.passwordstrength.showmsg=function(obj,msg,type){
Validform.util.showmsg.call(curform,msg,tiptype,{obj:obj,type:type,sweep:tipSweep});
};
curform.find("input[plugin='passwordStrength']").each(function(n){
if(this.validform_inited=="inited"){return true;}
this.validform_inited="inited";
$(this).passwordStrength(plugin.passwordstrength);
});
}
//jqtransform;
if(addRule!="addRule" && plugin.jqtransform && $.fn.jqTransSelect){
if(curform[0].jqTransSelected=="true"){return;};
curform[0].jqTransSelected="true";
var jqTransformHideSelect = function(oTarget){
var ulVisible = $('.jqTransformSelectWrapper ul:visible');
ulVisible.each(function(){
var oSelect = $(this).parents(".jqTransformSelectWrapper:first").find("select").get(0);
//do not hide if click on the label object associated to the select
if( !(oTarget && oSelect.oLabel && oSelect.oLabel.get(0) == oTarget.get(0)) ){$(this).hide();}
});
};
/* Check for an external click */
var jqTransformCheckExternalClick = function(event) {
if ($(event.target).parents('.jqTransformSelectWrapper').length === 0) { jqTransformHideSelect($(event.target)); }
};
var jqTransformAddDocumentListener = function (){
$(document).mousedown(jqTransformCheckExternalClick);
};
if(plugin.jqtransform.selector){
curform.find(plugin.jqtransform.selector).filter('input:submit, input:reset, input[type="button"]').jqTransInputButton();
curform.find(plugin.jqtransform.selector).filter('input:text, input:password').jqTransInputText();
curform.find(plugin.jqtransform.selector).filter('input:checkbox').jqTransCheckBox();
curform.find(plugin.jqtransform.selector).filter('input:radio').jqTransRadio();
curform.find(plugin.jqtransform.selector).filter('textarea').jqTransTextarea();
if(curform.find(plugin.jqtransform.selector).filter("select").length > 0 ){
curform.find(plugin.jqtransform.selector).filter("select").jqTransSelect();
jqTransformAddDocumentListener();
}
}else{
curform.jqTransform();
}
curform.find(".jqTransformSelectWrapper").find("li a").click(function(){
$(this).parents(".jqTransformSelectWrapper").find("select").trigger("blur");
});
}
},
getNullmsg:function(curform){
var obj=this;
var reg=/[\u4E00-\u9FA5\uf900-\ufa2da-zA-Z\s]+/g;
var nullmsg;
var label=curform[0].settings.label || ".Validform_label";
label=obj.siblings(label).eq(0).text() || obj.siblings().find(label).eq(0).text() || obj.parent().siblings(label).eq(0).text() || obj.parent().siblings().find(label).eq(0).text();
label=label.replace(/\s(?![a-zA-Z])/g,"").match(reg);
label=label? label.join("") : [""];
reg=/\{(.+)\|(.+)\}/;
nullmsg=curform.data("tipmsg").s || tipmsg.s;
if(label != ""){
nullmsg=nullmsg.replace(/\{0\|(.+)\}/,label);
if(obj.attr("recheck")){
nullmsg=nullmsg.replace(/\{(.+)\}/,"");
obj.attr("nullmsg",nullmsg);
return nullmsg;
}
}else{
nullmsg=obj.is(":checkbox,:radio,select") ? nullmsg.replace(/\{0\|(.+)\}/,"") : nullmsg.replace(/\{0\|(.+)\}/,"$1");
}
nullmsg=obj.is(":checkbox,:radio,select") ? nullmsg.replace(reg,"$2") : nullmsg.replace(reg,"$1");
obj.attr("nullmsg",nullmsg);
return nullmsg;
},
getErrormsg:function(curform,datatype,recheck){
var regxp=/^(.+?)((\d+)-(\d+))?$/,
regxp2=/^(.+?)(\d+)-(\d+)$/,
regxp3=/(.*?)\d+(.+?)\d+(.*)/,
mac=datatype.match(regxp),
temp,str;
//濡傛灉鏄€间笉涓€鏍疯€屾姤閿橕
if(recheck=="recheck"){
str=curform.data("tipmsg").reck || tipmsg.reck;
return str;
}
var tipmsg_w_ex=$.extend({},tipmsg.w,curform.data("tipmsg").w);
//濡傛灉鍘熸潵灏辨湁锛岀洿鎺ユ樉绀鸿椤圭殑鎻愮ず淇℃伅;
if(mac[0] in tipmsg_w_ex){
return curform.data("tipmsg").w[mac[0]] || tipmsg.w[mac[0]];
}
//娌℃湁鐨勮瘽鍦ㄦ彁绀哄璞¢噷鏌ユ壘鐩镐技;
for(var name in tipmsg_w_ex){
if(name.indexOf(mac[1])!=-1 && regxp2.test(name)){
str=(curform.data("tipmsg").w[name] || tipmsg.w[name]).replace(regxp3,"$1"+mac[3]+"$2"+mac[4]+"$3");
curform.data("tipmsg").w[mac[0]]=str;
return str;
}
}
return curform.data("tipmsg").def || tipmsg.def;
},
_regcheck:function(datatype,gets,obj,curform){
var curform=curform,
info=null,
passed=false,
reg=/\/.+\//g,
regex=/^(.+?)(\d+)-(\d+)$/,
type=3;//default set to wrong type, 2,3,4;
//datatype鏈変笁绉嶆儏鍐碉細姝e垯锛屽嚱鏁板拰鐩存帴缁戝畾鐨勬鍒橕
//鐩存帴鏄鍒橕
if(reg.test(datatype)){
var regstr=datatype.match(reg)[0].slice(1,-1);
var param=datatype.replace(reg,"");
var rexp=RegExp(regstr,param);
passed=rexp.test(gets);
//function;
}else if(Validform.util.toString.call(Validform.util.dataType[datatype])=="[object Function]"){
passed=Validform.util.dataType[datatype](gets,obj,curform,Validform.util.dataType);
if(passed === true || passed===undef){
passed = true;
}else{
info= passed;
passed=false;
}
//鑷畾涔夋鍒橕
}else{
//鑷姩鎵╁睍datatype;
if(!(datatype in Validform.util.dataType)){
var mac=datatype.match(regex),
temp;
if(!mac){
passed=false;
info=curform.data("tipmsg").undef||tipmsg.undef;
}else{
for(var name in Validform.util.dataType){
temp=name.match(regex);
if(!temp){continue;}
if(mac[1]===temp[1]){
var str=Validform.util.dataType[name].toString(),
param=str.match(/\/[mgi]*/g)[1].replace("\/",""),
regxp=new RegExp("\\{"+temp[2]+","+temp[3]+"\\}","g");
str=str.replace(/\/[mgi]*/g,"\/").replace(regxp,"{"+mac[2]+","+mac[3]+"}").replace(/^\//,"").replace(/\/$/,"");
Validform.util.dataType[datatype]=new RegExp(str,param);
break;
}
}
}
}
if(Validform.util.toString.call(Validform.util.dataType[datatype])=="[object RegExp]"){
passed=Validform.util.dataType[datatype].test(gets);
}
}
if(passed){
type=2;
info=obj.attr("sucmsg") || curform.data("tipmsg").r||tipmsg.r;
//瑙勫垯楠岃瘉閫氳繃鍚庯紝杩橀渶瑕佸缁戝畾recheck鐨勫璞¤繘琛屽€兼瘮杈傷
if(obj.attr("recheck")){
var theother=curform.find("input[name='"+obj.attr("recheck")+"']:first");
if(gets!=theother.val()){
passed=false;
type=3;
info=obj.attr("errormsg") || Validform.util.getErrormsg.call(obj,curform,datatype,"recheck");
}
}
}else{
info=info || obj.attr("errormsg") || Validform.util.getErrormsg.call(obj,curform,datatype);
//楠岃瘉涓嶉€氳繃涓斾负绌烘椂;
if(Validform.util.isEmpty.call(obj,gets)){
info=obj.attr("nullmsg") || Validform.util.getNullmsg.call(obj,curform);
}
}
return{
passed:passed,
type:type,
info:info
};
},
regcheck:function(datatype,gets,obj){
/*
datatype:datatype;
gets:inputvalue;
obj:input object;
*/
var curform=this,
info=null,
passed=false,
type=3;//default set to wrong type, 2,3,4;
//ignore;
if(obj.attr("ignore")==="ignore" && Validform.util.isEmpty.call(obj,gets)){
if(obj.data("cked")){
info="";
}
return {
passed:true,
type:4,
info:info
};
}
obj.data("cked","cked");//do nothing if is the first time validation triggered;
var dtype=Validform.util.parseDatatype(datatype);
var res;
for(var eithor=0; eithor[["/regexp/"],["phone"],["tel","s","e"],["f","e"]];
*/
var reg=/\/.+?\/[mgi]*(?=(,|$|\||\s))|[\w\*-]+/g,
dtype=datatype.match(reg),
sepor=datatype.replace(reg,"").replace(/\s*/g,"").split(""),
arr=[],
m=0;
arr[0]=[];
arr[0].push(dtype[0]);
for(var n=0;n姝e湪妫€娴 | 2=>閫氳繃, sweep:true | false},
triggered:鍦╞lur鎴栨彁浜よ〃鍗曡Е鍙戠殑楠岃瘉涓紝鏈変簺鎯呭喌涓嶉渶瑕佹樉绀烘彁绀烘枃瀛楋紝濡傝嚜瀹氫箟寮瑰嚭鎻愮ず妗嗙殑鏄剧ず鏂瑰紡锛屼笉闇€瑕佹瘡娆lur鏃跺氨椹笂寮瑰嚭鎻愮ず;
tiptype:1\2\3鏃堕兘鏈夊潙鑳戒細寮瑰嚭鑷畾涔夋彁绀烘
tiptype:1鏃跺湪triggered bycheck鏃朵笉寮规
tiptype:2\3鏃跺湪ajax鏃跺脊妗
tipSweep涓簍rue鏃跺湪triggered bycheck鏃朵笉瑙﹀彂showmsg锛屼絾ajax鍑洪敊鐨勬儏鍐典笅瑕佹彁绀
*/
//濡傛灉msg涓簎ndefined锛岄偅涔堝氨娌″繀瑕佹墽琛屽悗闈㈢殑鎿嶄綔锛宨gnore鏈夊彲鑳戒細鍑虹幇杩欐儏鍐贷
if(msg==undef){return;}
//tipSweep涓簍rue锛屼笖褰撳墠涓嶆槸澶勪簬閿欒鐘舵€佹椂锛宐lur浜嬩欢涓嶈Е鍙戜俊鎭樉绀果
if(triggered=="bycheck" && o.sweep && (o.obj && !o.obj.is(".error") || typeof type == "function")){return;}
$.extend(o,{curform:this});
if(o.obj.is("form")){
var curformObj=o.obj;
}else{
var curformObj=o.obj.parents("form");
}
if(typeof type == "function"){
type(msg,o,Validform.util.cssctl);
return;
}
var curformTips=curformObj.find(".js_validTips");
//tiptypt=1鏃讹紝blur瑙﹀彂showmsg锛岄獙璇佹槸鍚﹂€氳繃閮戒笉寮规锛屾彁浜よ〃鍗曡Е鍙戠殑璇濓紝鍙楠岃瘉鍑洪敊锛屽氨寮规;
if(type==1 && triggered!="bycheck" && o.type!=2 || triggered=="byajax" && type!=4){
if(curformTips.length<=0){
var status_img='loading.gif';
if(o.type==1){
$(this).find("input[type=submit]").addClass('disable').prop('disabled',true);
}else{
$(this).find("input[type=submit]").removeClass('disable').prop('disabled',false);
}
if(o.type==2){
status_img='icon_success.png';
}else if(o.type==3){
status_img='icon_error.png';
}
var icon='';
if(msgobj==null){
msgobj = dialog({
fixed: true,
content: icon+msg,
lock: true
});
msgobj.showModal();
}else{
msgobj.content(icon+msg).showModal();
setTimeout(function(){
msgobj.close();
},1500);
}
}else{
if(curformTips.length<=0){
var obj=curformObj.parent().parent().next().find(".Validform_checktip");
}else{
var obj=curformObj.find(".js_validTips .js_tipContent");
curformTips.show();
}
obj.html(msg);
Validform.util.cssctl(obj,o.type);
}
}else{
if(type==2 && curformObj){
if(curformTips.length<=0){
var obj=o.obj.parent().parent().next().find(".Validform_checktip");
}else{
var obj=curformObj.find(".js_validTips .js_tipContent");
curformTips.show();
}
obj.html(msg);
if(msg!=""){
Validform.util.cssctl(obj,o.type);
}else{
curformTips.find(".js_tipContent").removeClass("success error wait");
}
}
if((type==3 || type==4) && curformObj){
if(curformTips.length<=0){
var obj=o.obj.parent().parent().find(".Validform_checktip");
}else{
var obj=curformObj.find(".js_validTips .js_tipContent");
curformTips.show();
}
obj.html(msg);
if(msg!=""){
Validform.util.cssctl(obj,o.type);
}else{
curformTips.find(".js_tipContent").removeClass("success error wait");
Validform.util.cssctl(obj,o.type);
}
}
}
},
cssctl:function(obj,status){
switch(status){
case 1:
obj.removeClass("success error").addClass("Validform_checktip wait");//checking;
break;
case 2:
obj.removeClass("error wait").addClass("Validform_checktip success");//passed;
break;
case 4:
obj.removeClass("success error wait").addClass("Validform_checktip");//for ignore;
break;
default:
obj.removeClass("success wait").addClass("Validform_checktip error");//wrong;
}
},
check:function(curform,subpost,bool){
/*
妫€娴嬪崟涓〃鍗曞厓绱燐
楠岃瘉閫氳繃杩斿洖true锛屽惁鍒欒繑鍥瀎alse銆佸疄鏃堕獙璇佽繑鍥炲€间负ajax;
bool锛屼紶鍏rue鍒欏彧妫€娴嬩笉鏄剧ず鎻愮ず淇℃伅;
*/
var settings=curform[0].settings;
var subpost=subpost || "";
var inputval=Validform.util.getValue.call(curform,$(this));
//闅愯棌鎴栫粦瀹歞ataIgnore鐨勮〃鍗曞璞′笉鍋氶獙璇?
if(settings.ignoreHidden && $(this).is(":hidden") || $(this).data("dataIgnore")==="dataIgnore"){
return true;
}
//dragonfly=true鏃讹紝娌℃湁缁戝畾ignore锛屽€间负绌轰笉鍋氶獙璇侊紝浣嗛獙璇佷笉閫氳繃;
if(settings.dragonfly && !$(this).data("cked") && Validform.util.isEmpty.call($(this),inputval) && $(this).attr("ignore")!="ignore"){
return false;
}
var flag=Validform.util.regcheck.call(curform,$(this).attr("datatype"),inputval,$(this));
//鍊兼病鍙樺寲涓嶅仛妫€娴嬶紝杩欐椂瑕佽€冭檻recheck鎯呭喌;
//涓嶆槸鍦ㄦ彁浜よ〃鍗曟椂瑙﹀彂鐨刟jax楠岃瘉;
if(inputval==this.validform_lastval && !$(this).attr("recheck") && subpost==""){
return flag.passed ? true : false;
}
this.validform_lastval=inputval;//瀛樺偍褰撳墠鍊畸
var _this;
errorobj=_this=$(this);
if(!flag.passed){
//鍙栨秷姝e湪杩涜鐨刟jax楠岃瘉;
Validform.util.abort.call(_this[0]);
if(!bool){
//浼犲叆"bycheck"锛屾寚绀哄綋鍓嶆槸check鏂规硶閲岃皟鐢ㄧ殑锛屽綋tiptype=1鏃讹紝blur浜嬩欢涓嶈瑙﹀彂閿欒淇℃伅鏄剧ず;
Validform.util.showmsg.call(curform,flag.info,settings.tiptype,{obj:$(this),type:flag.type,sweep:settings.tipSweep},"bycheck");
!settings.tipSweep && _this.addClass("error");
}
return false;
}
//楠岃瘉閫氳繃鐨勮瘽锛屽鏋滅粦瀹氭湁ajaxurl锛岃鎵цajax妫€娴婝
//褰搃gnore="ignore"鏃讹紝涓虹┖鍊煎彲浠ラ€氳繃楠岃瘉锛岃繖鏃朵笉闇€瑕乤jax妫€娴婝
var ajaxurl=$(this).attr("ajaxurl");
if(ajaxurl && !Validform.util.isEmpty.call($(this),inputval) && !bool){
var inputobj=$(this);
//褰撴彁浜よ〃鍗曟椂锛岃〃鍗曚腑鐨勬煇椤瑰凡缁忓湪鎵цajax妫€娴嬶紝杩欐椂闇€瑕佽璇ラ」ajax缁撴潫鍚庣户缁彁浜よ〃鍗旣
if(subpost=="postform"){
inputobj[0].validform_subpost="postform";
}else{
inputobj[0].validform_subpost="";
}
if(inputobj[0].validform_valid==="posting" && inputval==inputobj[0].validform_ckvalue){return "ajax";}
inputobj[0].validform_valid="posting";
inputobj[0].validform_ckvalue=inputval;
Validform.util.showmsg.call(curform,curform.data("tipmsg").c||tipmsg.c,settings.tiptype,{obj:inputobj,type:1,sweep:settings.tipSweep},"bycheck");
Validform.util.abort.call(_this[0]);
var ajaxsetup=$.extend(true,{},settings.ajaxurl || {});
var localconfig={
type: "POST",
cache:false,
url: ajaxurl,
data: "param="+encodeURIComponent(inputval)+"&name="+encodeURIComponent($(this).attr("name")),
success: function(data){
if(data.status==1){
inputobj[0].validform_valid="true";
data.info && inputobj.attr("sucmsg",data.info);
Validform.util.showmsg.call(curform,inputobj.attr("sucmsg") || curform.data("tipmsg").r||tipmsg.r,settings.tiptype,{obj:inputobj,type:2,sweep:settings.tipSweep},"bycheck");
_this.removeClass("error");
errorobj=null;
if(inputobj[0].validform_subpost=="postform"){
curform.trigger("submit");
}
}else{
inputobj[0].validform_valid=data.info;
Validform.util.showmsg.call(curform,data.info,settings.tiptype,{obj:inputobj,type:3,sweep:settings.tipSweep});
_this.addClass("error");
}
_this[0].validform_ajax=null;
},
error: function(data){
if(data.status=="200"){
if(data.responseText=="y"){
ajaxsetup.success({"status":"y"});
}else{
ajaxsetup.success({"status":"n","info":data.responseText});
}
return false;
}
//姝e湪妫€娴嬫椂锛岃妫€娴嬬殑鏁版嵁鍙戠敓鏀瑰彉锛岃繖鏃惰缁堟褰撳墠鐨刟jax銆備笉鏄繖绉嶆儏鍐靛紩璧风殑ajax閿欒锛岄偅涔堟樉绀虹浉鍏抽敊璇俊鎭?
if(data.statusText!=="abort"){
var msg="status: "+data.status+"; statusText: "+data.statusText;
Validform.util.showmsg.call(curform,msg,settings.tiptype,{obj:inputobj,type:3,sweep:settings.tipSweep});
_this.addClass("error");
}
inputobj[0].validform_valid=data.statusText;
_this[0].validform_ajax=null;
//localconfig.error杩斿洖true琛ㄧず杩橀渶瑕佹墽琛宼emp_err;
return true;
}
}
if(ajaxsetup.success){
var temp_suc=ajaxsetup.success;
ajaxsetup.success=function(data){
localconfig.success(data);
temp_suc(data,inputobj);
}
}
if(ajaxsetup.error){
var temp_err=ajaxsetup.error;
ajaxsetup.error=function(data){
//localconfig.error杩斿洖false琛ㄧず涓嶉渶瑕佹墽琛宼emp_err;
localconfig.error(data) && temp_err(data,inputobj);
}
}
ajaxsetup=$.extend({},localconfig,ajaxsetup,{dataType:"json"});
_this[0].validform_ajax=$.ajax(ajaxsetup);
return "ajax";
}else if(ajaxurl && Validform.util.isEmpty.call($(this),inputval)){
Validform.util.abort.call(_this[0]);
_this[0].validform_valid="true";
}
if(!bool){
Validform.util.showmsg.call(curform,flag.info,settings.tiptype,{obj:$(this),type:flag.type,sweep:settings.tipSweep},"bycheck");
_this.removeClass("error");
}
errorobj=null;
return true;
},
submitForm:function(settings,flg,url,ajaxPost,sync){
/*
flg===true鏃惰烦杩囬獙璇佺洿鎺ユ彁浜{
ajaxPost==="ajaxPost"鎸囩ず褰撳墠琛ㄥ崟浠jax鏂瑰紡鎻愪氦;
*/
var curform=this;
//琛ㄥ崟姝e湪鎻愪氦鏃剁偣鍑绘彁浜ゆ寜閽笉鍋氬弽搴擕
if(curform[0].validform_status==="posting"){return false;}
//瑕佹眰鍙兘鎻愪氦涓€娆℃椂;
if(settings.postonce && curform[0].validform_status==="posted"){return false;}
var beforeCheck=settings.beforeCheck && settings.beforeCheck(curform);
if(beforeCheck===false){return false;}
var flag=true,
inflag;
curform.find("[datatype]").each(function(){
//璺宠繃楠岃瘉;
if(flg){
return false;
}
//闅愯棌鎴栫粦瀹歞ataIgnore鐨勮〃鍗曞璞′笉鍋氶獙璇?
if(settings.ignoreHidden && $(this).is(":hidden") || $(this).data("dataIgnore")==="dataIgnore"){
return true;
}
var inputval=Validform.util.getValue.call(curform,$(this)),
_this;
errorobj=_this=$(this);
inflag=Validform.util.regcheck.call(curform,$(this).attr("datatype"),inputval,$(this));
if(!inflag.passed){
Validform.util.showmsg.call(curform,inflag.info,settings.tiptype,{obj:$(this),type:inflag.type,sweep:settings.tipSweep});
_this.addClass("error");
if(!settings.showAllError){
_this.focus();
flag=false;
return false;
}
flag && (flag=false);
return true;
}
//褰搃gnore="ignore"鏃讹紝涓虹┖鍊煎彲浠ラ€氳繃楠岃瘉锛岃繖鏃朵笉闇€瑕乤jax妫€娴婝
if($(this).attr("ajaxurl") && !Validform.util.isEmpty.call($(this),inputval)){
if(this.validform_valid!=="true"){
var thisobj=$(this);
Validform.util.showmsg.call(curform,curform.data("tipmsg").v||tipmsg.v,settings.tiptype,{obj:thisobj,type:3,sweep:settings.tipSweep});
_this.addClass("error");
thisobj.trigger("blur",["postform"]);//continue the form post;
if(!settings.showAllError){
flag=false;
return false;
}
flag && (flag=false);
return true;
}
}else if($(this).attr("ajaxurl") && Validform.util.isEmpty.call($(this),inputval)){
Validform.util.abort.call(this);
this.validform_valid="true";
}
Validform.util.showmsg.call(curform,inflag.info,settings.tiptype,{obj:$(this),type:inflag.type,sweep:settings.tipSweep});
_this.removeClass("error");
errorobj=null;
});
if(settings.showAllError){
curform.find(".error:first").focus();
}
if(flag){
var beforeSubmit=settings.beforeSubmit && settings.beforeSubmit(curform);
if(beforeSubmit===false){return false;}
curform[0].validform_status="posting";
if(settings.ajaxPost || ajaxPost==="ajaxPost"){
//鑾峰彇閰嶇疆鍙傛暟;
var ajaxsetup=$.extend(true,{},settings.ajaxpost || {});
//鏈夊彲鑳介渶瑕佸姩鎬佺殑鏀瑰彉鎻愪氦鍦板潃锛屾墍浠ユ妸action鎵€鎸囧畾鐨剈rl灞傜骇璁句负鏈€浣嶜
ajaxsetup.url=url || ajaxsetup.url || settings.url || curform.attr("action");
//byajax锛歛jax鏃讹紝tiptye涓?銆?鎴?闇€瑕佸脊鍑烘彁绀烘;
Validform.util.showmsg.call(curform,curform.data("tipmsg").p||tipmsg.p,settings.tiptype,{obj:curform,type:1,sweep:settings.tipSweep},"byajax");
//鏂规硶閲岀殑浼樺厛绾ц楂楙
//鏈塽ndefined鎯呭喌;
if(sync){
ajaxsetup.async=false;
}else if(sync===false){
ajaxsetup.async=true;
}
if(ajaxsetup.success){
var temp_suc=ajaxsetup.success;
ajaxsetup.success=function(data){
settings.callback && settings.callback(curform,data);
curform[0].validform_ajax=null;
if(data.status==1){
curform[0].validform_status="posted";
}else{
curform[0].validform_status="normal";
}
temp_suc(data,curform);
}
}
if(ajaxsetup.error){
var temp_err=ajaxsetup.error;
ajaxsetup.error=function(data){
settings.callback && settings.callback(curform,data);
curform[0].validform_status="normal";
curform[0].validform_ajax=null;
temp_err(data,curform);
}
}
var localconfig={
type: "POST",
async:true,
data: curform.serializeArray(),
success: function(data){
if(data.status==1){
//鎴愬姛鎻愪氦;
curform[0].validform_status="posted";
Validform.util.showmsg.call(curform,data.info,settings.tiptype,{obj:curform,type:2,sweep:settings.tipSweep},"byajax");
}else{
//鎻愪氦鍑洪敊;
curform[0].validform_status="normal";
Validform.util.showmsg.call(curform,data.info,settings.tiptype,{obj:curform,type:3,sweep:settings.tipSweep},"byajax");
}
settings.callback && settings.callback(curform,data);
curform[0].validform_ajax=null;
},
error: function(data){
var msg="status: "+data.status+"; statusText: "+data.statusText;
Validform.util.showmsg.call(curform,msg,settings.tiptype,{obj:curform,type:3,sweep:settings.tipSweep},"byajax");
settings.callback && settings.callback(curform,data);
curform[0].validform_status="normal";
curform[0].validform_ajax=null;
}
}
ajaxsetup=$.extend({},localconfig,ajaxsetup,{dataType:"json"});
curform[0].validform_ajax=$.ajax(ajaxsetup);
}else{
if(!settings.postonce){
curform[0].validform_status="normal";
}
var url=url || settings.url;
if(url){
curform.attr("action",url);
}
return settings.callback && settings.callback(curform);
}
}
return false;
},
resetForm:function(){
var brothers=this;
brothers.each(function(){
this.reset && this.reset();
this.validform_status="normal";
});
brothers.parent().find(".success").text("");
brothers.parent().find(".passwordStrength").children().removeClass("bgStrength");
brothers.parent().find(".Validform_checktip").removeClass("error success wait");
brothers.parent().find(".error").removeClass("error");
brothers.parent().find("[datatype]").removeData("cked").removeData("dataIgnore").each(function(){
this.validform_lastval=null;
});
brothers.parent().eq(0).find("input:first").focus();
},
abort:function(){
if(this.validform_ajax){
this.validform_ajax.abort();
}
}
}
$.Datatype=Validform.util.dataType;
Validform.prototype={
dataType:Validform.util.dataType,
eq:function(n){
var obj=this;
if(n>=obj.forms.length){
return null;
}
if(!(n in obj.objects)){
obj.objects[n]=new Validform($(obj.forms[n]).get(),{},true);
}
return obj.objects[n];
},
resetStatus:function(){
var obj=this;
$(obj.forms).each(function(){
this.validform_status="normal";
});
return this;
},
setStatus:function(status){
var obj=this;
$(obj.forms).each(function(){
this.validform_status=status || "posting";
});
return this;
},
getStatus:function(){
var obj=this;
var status=$(obj.forms)[0].validform_status;
return status;
},
ignore:function(selector){
var obj=this;
var selector=selector || "[datatype]"
$(obj.forms).find(selector).each(function(){
$(this).data("dataIgnore","dataIgnore").removeClass("error");
});
return this;
},
unignore:function(selector){
var obj=this;
var selector=selector || "[datatype]"
$(obj.forms).find(selector).each(function(){
$(this).removeData("dataIgnore");
});
return this;
},
addRule:function(rule){
/*
rule => [{
ele:"#id",
datatype:"*",
errormsg:"鍑洪敊鎻愮ず鏂囧瓧锛?,
nullmsg:"涓虹┖鏃剁殑鎻愮ず鏂囧瓧锛?,
tip:"榛樿鏄剧ず鐨勬彁绀烘枃瀛?,
altercss:"gray",
ignore:"ignore",
ajaxurl:"valid.php",
recheck:"password",
plugin:"passwordStrength"
},{},{},...]
*/
var obj=this;
var rule=rule || [];
for(var index=0; index'+msg+'',
ok:function(){
ajax_get(_this,target);
},
cancel:function(){
d.close().remove();
return false;
},
lock:true
});
d.showModal();
}else{
ajax_get(_this,target);
}
return false;
});
$(document).on("click",".ajax-post",function(){
var target,query,form;
var target_form = $(this).attr('target-form');
var _this = $(this);
var nead_confirm=false;
var text = $(this).html() || $(this).val();
var ico="ask";
if(_this.attr("font_ico")){
var ico=_this.attr("font_ico");
}
if( (_this.attr('type')=='submit') || (target = _this.attr('href')) || (target = _this.attr('url')) ){
form = $('.'+target_form);
if($(this).attr('time')){
var time=$(this).attr('time');
}else{
var time=2000;
}
if ( form.get(0).nodeName=='FORM' ){
if ( $(this).hasClass('confirm') ) {
if($(this).attr('tips')){
var msg=$(this).attr('tips');
}else{
var msg='纭瑕佹墽琛岃鎿嶄綔鍚?';
}
var d=dialog({
fixed: true,
title:"绯荤粺鎻愮ず",
content:''+msg+'
',
ok:function(){
if(_this.attr('url') !== undefined){
target = _this.attr('url');
}else{
target = form.get(0).action;
}
var query=form.serialize();
ajax_post(_this,target,query);
},
cancel:function(){
d.close().remove();
return false;
},
lock:true
});
d.showModal();
}else{
if(_this.attr('url') !== undefined){
target = _this.attr('url');
}else{
target = form.get(0).action;
}
var query=form.serialize();
ajax_post(_this,target,query);
}
}else if( form.get(0).nodeName=='INPUT' || form.get(0).nodeName=='SELECT'){
form.each(function(k,v){
if(v.type=='checkbox' && v.checked==true){
nead_confirm = true;
}
})
if ( nead_confirm && $(this).hasClass('confirm') ) {
if($(this).attr('tips')){
var msg=$(this).attr('tips');
}else{
var msg='纭瑕佹墽琛岃鎿嶄綔鍚?';
}
var d=dialog({
fixed: true,
title:"绯荤粺鎻愮ず",
content:''+msg+'
',
ok:function(){
query = form.serialize();
ajax_post(_this,target,query);
},
cancel:function(){
d.close().remove();
return false;
},
lock:true
});
d.showModal();
}else{
query = form.serialize();
ajax_post(_this,target,query);
}
}else if (form.get(0)==undefined){
return false;
}
}
return false;
});
//寮圭獥
$(document).on("click",".dialog",function(event){
var c_this=$(this);
event.preventDefault();
var padding=40;
var _id = c_this.attr('data-id');
if(c_this.attr('padding')){
padding=c_this.attr('padding');
}
var myDialog = dialog({
title:c_this.attr('title'),
padding:padding,
id:_id,
lock:true
});
myDialog.showModal();
$.ajax({
url:$(this).attr('href'),
success: function(data) {
myDialog.content(data);// 濉厖瀵硅瘽妗嗗唴瀹
/*
ajax鎻愪氦琛ㄥ崟锛堝甫琛ㄥ崟楠岃瘉鍔熻兘锛
搴峰埄姘 2016/05/20
*/
$('.js_form').each(function(){
$(this).super_validform({"set":{tiptype:4,ajaxPost:true}});
});
/* validform灏佽 -E */
}
});
})
// 寮€鍏冲垏鎹
$(document).on('click', '.switch_input', function(event) {
event.preventDefault();
var _el = $(this).find('ul')
if(_el.hasClass('active')){
_el.removeClass('active');
_el.find('.switch_val').val(0)
}else{
_el.addClass('active');
_el.find('.switch_val').val(1)
}
});
$(".js_check_all").on("click",function(){
var _child=$(this).attr("data-target");
$("input[data-child="+_child+"]").prop("checked",this.checked);
if(this.checked){
$(this).parent().addClass('checked');
$("input[data-child="+_child+"]").parent().parent().addClass("checked");
}else{
$("input[data-child="+_child+"]").parent().parent().removeClass("checked");
$(this).parent().removeClass('checked');
}
})
$("input[type=checkbox]").on("click",function(){
var _childAttr=$(this).attr("data-child");
var _child=$("input[data-child="+_childAttr+"]").length;
var _child_checked=$("input[data-child="+_childAttr+"]:checked").length;
if(_child==_child_checked){
$("input[data-target="+_childAttr+"]").prop("checked",this.checked);
}else{
$("input[data-target="+_childAttr+"]").prop("checked",false);
}
if(this.checked){
$(this).parent().parent().addClass("checked");
}else{
$(this).parent().parent().removeClass("checked");
}
})
/* 璁剧疆閫変腑琛岃儗鏅鑹 -S */
$(".js_table tr td").on("click",function(){
if($(this).find("a").length<=0 && $(this).find(".ids").length<=0){
var child=$(this).parent();
if(child.parent().parent().find(".ids").length>0){
if(child.find(".ids").prop("checked")){
child.find(".ids").prop("checked",false);
child.removeClass("checked");
}else{
child.find(".ids").prop("checked",true);
child.addClass("checked");
}
var _childAttr=child.find(".ids").attr("data-child");
var _child=$("input[data-child="+_childAttr+"]").length;
var _child_checked=$("input[data-child="+_childAttr+"]:checked").length;
if(_child==_child_checked){
$("input[data-target="+_childAttr+"]").prop("checked",true);
}else{
$("input[data-target="+_childAttr+"]").prop("checked",false);
}
}else{
child.parent().parent().find(".checked").removeClass('checked');
child.addClass('checked');
}
}
})
/* 璁剧疆閫変腑琛岃儗鏅鑹 -E */
/* 鑾峰彇鎵€鏈夐€変腑琛岋紝骞惰缃€変腑鑳屾櫙棰滆壊 -S */
$(".js_table tr").each(function(){
if($(this).find(".ids").prop("checked")){
$(this).addClass("checked");
}else{
$(this).removeClass("checked");
}
})
/* 鑾峰彇鎵€鏈夐€変腑琛岋紝骞惰缃€変腑鑳屾櫙棰滆壊 -E */
//澶撮儴鎼滅储
$('.search_top').on('click','li',function(){
$(this).addClass("active");
$(this).siblings().removeClass('active');
var key = $(this).attr('keyword-type');
$('.'+key).css({'display':'block'});
$('.'+key).siblings().css({'display':'none'});
var urlStr = $(this).attr('data-url');
$('.search_box').find('form').attr('action',urlStr);
});
$('.js_menuList>li').each(function(){
var $obj = $(this).find('.drop_down');
$obj.find('dl:last>dd').css({'border-bottom':'none'});
$obj = null;
});
$('.bus_list>ul').on('mouseover','li:last',function(){
$(this).css({'border-color':'#fff'});
});
$('.drop_down>dl:last>dd').css({'border-bottom':'none'});
$('.js_menuList').on('mouseover','li',function(){
$(this).find('.drop_down').css({'display':'block'});
$(this).siblings().find('.drop_down').css({'display':'none'});
});
$('.js_menuList').on('mouseleave','li',function(){
$(this).find('.drop_down').css({'display':'none'});
});
//鍒囬〉鍒ゆ柇
$('.pages').on('keyup','.js_check',function(){
var val = $(this).val(),count = Number($('.js_count').text());
$(this).val(val.replace(/[^\d]/g,''));
var $obj = $('.js_user');
val = Number($(this).val());
if(val < 1 || val > count){
$obj.attr('disabled','disabled').removeAttr('type').css({'cursor':'default'});
}else{
$obj.removeAttr('disabled').attr('type','submit').css({'cursor':'pointer'});
}
$obj = null;
});
$(document).on('click','.js_cut li',function(){
var _winW = $(window).width();
var _this = $(this);
var _index = $('.js_cut li').index(this);
switch(_index){
case 0:
_this.addClass('active').siblings().removeClass('active');
$('.js_m_active').hide();
$('.mobile_classify,.tab_cover').css({display: 'block'});
$('.mobile_classify').children('.tab_menu').stop().animate({
'left' : 0,
'width': _winW-40
},100);
$('.mobile_classify').children('.tab_cover').click(function(){
$('.tab_menu').stop().animate({
'left': -1000,
},150,function(){
$('.tab_cover').fadeOut('1000');
});
});
//鑿滃崟鐐瑰嚮浜嬩欢
$('.js_title li').click(function(){
var _thisT = $('.js_title li');
var _indexT = _thisT.index(this);
$(this).addClass('active').siblings().removeClass('active');
$(this).parents('.js_title').siblings('.js_body').find('li').eq(_indexT).show().siblings().hide();
});
break;
case 1:
_this.addClass('active').siblings().removeClass('active');
_this.children('.js_m_active').fadeToggle();
_this.find('.js_m_active li').click(function(){
$(this).addClass('active').siblings().removeClass('active');
});
break;
}
});
//PC绔彍鍗曟晥鏋
$(".js_navLen li").hover(function(){
var subTop=($(".js_navLen li").index(this)*($(this).height()+1));
var boxWidth=$(this).parent().width();
var boxHeiht=$(".menu_dd").height();
if($(".dorpdown_layer",this).length>0){
$(this).addClass("hover");
}
if($(".dorpdown_layer",this).height()+40>=boxHeiht){
$(".dorpdown_layer",this).css({'top':'0px'}).show();
}else if((subTop+$(".dorpdown_layer",this).height()+40)>boxHeiht){
$(".dorpdown_layer",this).css({'top':"auto",'bottom':"0px"}).show();
}else{
var topVal=subTop-($(".dorpdown_layer",this).height()+40-$(this).height())/2;
if(topVal>0){
$(".dorpdown_layer",this).css({'top':topVal+'px'}).show();
}else{
$(".dorpdown_layer",this).css({'top':'0px'}).show();
}
}
$(".dorpdown_layer",this).css({'left':boxWidth}).show();
},function(){
$(".dorpdown_layer",this).hide();
$(this).removeClass("hover");
})
/*
ajax鎻愪氦琛ㄥ崟锛堝甫琛ㄥ崟楠岃瘉鍔熻兘锛
搴峰埄姘 2016/05/20
*/
$('.js_form').each(function(){
$(this).super_validform({"set":{tiptype:3}});
});
/* validform灏佽 -E */
$(".js_selected_box").on("click",function(){
var _this=$(this);
if(_this.next().is(":hidden")){
_this.next().fadeIn(50);
_this.next().find("li").on("click",function(){
var val=$(this).attr("data-option");
var text=$(this).text();
_this.html(text+'');
_this.prev().val(val);
_this.next().fadeOut(50);
})
}else{
_this.next().fadeOut(50);
}
})
$(".js_select_box").on("mouseleave",function(){
$(".js_select_list",this).fadeOut(50);
})
if($(".wdate").length>0){
$("head").append('');
}
//鍒犻櫎宸茬粡娣诲姞鍒版暟鎹簱鐨勫浘鐗
$(document).on("click",".js_delThis",function(){
var delObj=$(this);
var image_id=delObj.attr('index');
var table=delObj.attr('data-table');
var multi=delObj.attr('data-status');
if(confirm("纭畾鍒犻櫎鍚楋紵")){
var url=_CONTROLLER_+'/ajaxDelete_'+table;
var data_id=$(this).attr('index');
$.post(url,{'id':data_id},function(data){
if(data.status==1){
delObj.parent().remove();
tips(data.info,1000,'success');
}else{
tips(data.info,1500,'danger');
}
},'json');
}
})
//鍒犻櫎涓存椂涓婁紶鐨勫浘鐗囷紝涔熷氨鏄笂浼犲悗杩樻病鏈夌偣鍑诲彂甯冪殑鍥剧墖
$(document).on("click",".js_delCache",function(){
var delObj=$(this);
var table=delObj.attr('data-table');
var multi=delObj.attr('data-status');
if(confirm("纭畾鍒犻櫎鍚楋紵")){
if(multi!=true){
$('.file_btn',delObj.parents(".upload_img_box")).val("");
}
var temp_id=$(this).attr('index');
$.post(_CONTROLLER_+"/delTempFile",{id:temp_id},function(data){
if(data.status==1){
delObj.parent().remove();
tips(data.info,1000,'success');
}else{
tips(data.info,1500,'danger');
}
})
}
})
});
function ajax_get(obj, target) {
if (obj.attr('time')) {
var time = obj.attr('time')
} else {
var time = 2000
} if ((target = obj.attr('href')) || (target = obj.attr('url'))) {
$.get(target).success(function(data) {
var callback = false;
try {
if (obj.attr("func") != 'undefined') {
var funcSuffix = 'ajaxGetCallback' + obj.attr("func");
if (typeof(eval(funcSuffix)) == "function") {
callback = eval(funcSuffix + "(obj,data.status,data.info)");
if (!callback) {
return false
}
}
}
} catch (e) {}
if (data.status == 1) {
if (data.url) {
location.href = data.url
} else {
location.reload()
}
} else {
tips(data.info, 2000, "danger");
setTimeout(function() {
obj.addClass('disable').attr('autocomplete', 'off').prop('disabled', false)
}, time)
}
})
}
}
function ajax_post(obj, target, query) {
if (obj.attr('time')) {
var time = obj.attr('time')
} else {
var time = 2000
}
obj.addClass('disable').attr('autocomplete', 'off').prop('disabled', true);
$.post(target, query).success(function(data) {
var callback = false;
try {
if (obj.attr("func") != 'undefined') {
var funcSuffix = 'ajaxPostCallback' + obj.attr("func");
if (typeof(eval(funcSuffix)) == "function") {
callback = eval(funcSuffix + "(obj,data.status,data.info)");
if (!callback) {
return false;
}
}
}
} catch (e) {}
if (data.status == 1) {
if (data.url) {
location.href = data.url
} else {
location.reload()
}
} else {
tips(data.info, 2000, "danger");
setTimeout(function() {
obj.removeClass('disable').attr('autocomplete', 'off').prop('disabled', false)
}, time)
}
})
}
/**
* js鎻愮ず寮圭獥
* 鍙傛暟瑙i噴
* info : 鎻愮ず鍐呭
* time : 鏄剧ず鏃堕棿锛屽崟浣嶄负姣锛?000姣涓?绉
* status : 鏄剧ず鐘舵€侊紙success,danger,warning,ask,info
*
* @author MyMelody <1753290024@qq.com>
*/
function tips(info, time, status) {
var icon=''+info+'
';
if($(document).find(".js_tips_box").size()<=0){
$("body").append(icon);
}
var tips_width=$(".js_tips_box").width();
var tips_height=$(".js_tips_box").height();
var tips_obj=$(document).find(".js_tips_box");
var tips_top=$(document).height()/2-tips_height/2;
var tips_init_top=tips_top/2+(tips_top/2)/2;
tips_obj.css({"left":$(document).width()/2-tips_width/2,"top":tips_init_top,}).animate({"top":tips_top,"opacity":1},500);
setTimeout(function() {
tips_obj.animate({"top":tips_top/2+(tips_top/2)/2,"opacity":0},100,function(){
tips_obj.remove();
});
}, time)
}
/*
* 灏嗗瓧绗︿覆鏍规嵁鎸囧畾瀛楃鍒嗛殧鎴愪负鏁扮粍锛屼娇鐢ㄦ柟娉曞拰php鐨別xplode涓€鏍
* 鍙傛暟瑙i噴锛
* separator锛氭寚瀹氱敤浠€涔堝瓧绗︽潵鍒嗗壊
* string锛 鎸囧畾鍒嗗壊浠€涔堝瓧绗︿覆
* 绀轰緥锛
* var str="www.cnsunrun.com";
* var str_arr=explode('.',str);
* console.log(str_arr);
* 鍦ㄨ皟璇曞伐鍏风殑console閲屼細鐪嬪埌杈撳嚭鐨勬暟缁勶細["www", "cnsunrun", "com"]
*
* @author MyMelody <3027788306@@qq.com>
*/
function explode(separator, string) {
string = new String(string);
separator = new String(separator);
if (separator == "undefined") {
separator = " :;"
}
fixedExplode = new Array(1);
currentElement = "";
count = 0;
for (x = 0; x < string.length; x++) {
str = string.charAt(x);
if (separator.indexOf(str) != -1) {
fixedExplode[count] = currentElement;
count++;
currentElement = ""
} else {
currentElement += str
}
}
fixedExplode[count] = currentElement;
return fixedExplode
}
//鏁扮粍鍚堝苟
function array_merge(des, src, override) {
if (src instanceof Array) {
for (var i = 0, len = src.length; i < len; i++) array_merge(des, src[i], override)
}
for (var i in src) {
if (override || !(i in des)) {
des[i] = src[i]
}
}
return des
}
/*
* 甯哥敤浜庝紶鍏ヤ竴涓畬鏁寸殑鏂囦欢璺緞锛岃繑鍥炴枃浠跺悕涓庡悗缂€
*/
function basename(str) {
var str2 = "/";
var s = str.lastIndexOf(str2);
if (s == -1) {
str2 = "\\";
var s = str.lastIndexOf(str2)
}
if (s == -1) {
alert("瀛楃涓查潪娉?)
} else {
return (str.substring(s + 1, str.length))
}
return ""
}
/**
* number_format
*
* @param int or float number
* @param int decimals
* @param string dec_point
* @param string thousands_sep
* @return string
* example 1: number_format(1234.56);
returns 1: '1,235'
* example 2: number_format(1234.56, 2, ',', ' ');
returns 2: '1 234,56'
* example 3: number_format(1234.5678, 2, '.', '');
returns 3: '1234.57'
* example 4: number_format(67, 2, ',', '.');
returns 4: '67,00'
* example 5: number_format(1000);
returns 5: '1,000'
* example 6: number_format(67.311, 2);
returns 6: '67.31'
* example 7: number_format(1000.55, 1);
returns 7: '1,000.6'
* example 8: number_format(67000, 5, ',', '.');
returns 8: '67.000,00000'
* example 9: number_format(0.9, 0);
returns 9: '1'
* example 10: number_format('1.20', 2);
returns 10: '1.20'
* example 11: number_format('1.20', 4);
returns 11: '1.2000'
* example 12: number_format('1.2000', 3);
returns 12: '1.200'
*/
function number_format(number, decimals, dec_point, thousands_sep) {
var n = !isFinite(+number) ? 0 : +number,
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
s = '',
toFixedFix = function(n, prec) {
var k = Math.pow(10, prec);
return '' + Math.round(n * k) / k
};
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
if (s[0].length > 3) {
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep)
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || '';
s[1] += new Array(prec - s[1].length + 1).join('0')
}
return s.join(dec)
}