//鍒嗙褰撳墠椤甸潰url鍙傛暟 function getCurrentUrlInfo() { return parseUrl(location.href); } // 鍒嗙url鍦板潃鍙傛暟 function parseUrl(url) { var index = url.indexOf("?"); var p = {}; var url2 = url; if (index > 0) { url2 = url.substring(0, index); var ss = url.substring(index + 1).split("&"); for (var i = 0; i < ss.length; i++) { var ss2 = ss[i].split("="); p[ss2[0]] = ss2[1]; } } return { url : url2, params : p }; } // 鍒锋柊褰撳墠椤甸潰 function refreshCurrentPage() { var info = getCurrentUrlInfo(); info.params["_"] = (new Date()).getTime(); location.href = info.url + "?" + $.param(info.params); } // trim瀛楃涓插叏閮ㄧ┖鏍 function trim(s) { if (!s) return ""; return s.replace(/(^\s*)|(\s*$)/g, ""); } // trim瀛楃涓叉湯灏剧┖鏍 function trimEnd(s) { if (!s) return ""; return s.replace(/[ \s]+$/g, ""); } // 绠€鍗曟暟缁勮浆鎹负object鏁扮粍 function makeArrayParams(name, values) { var ret = []; for (var i = 0, len = values.length; i < len; i++) { ret.push({ name : name, value : values[i] }); } return ret; } // 鍙栧緱鏂囦欢璺緞 function getFileURL(file) { var url = null; if (window.createObjectURL != undefined) { // basic url = window.createObjectURL(file); } else if (window.URL != undefined) { // mozilla(firefox) url = window.URL.createObjectURL(file); } else if (window.webkitURL != undefined) { // webkit or chrome url = window.webkitURL.createObjectURL(file); } return url; } // 琛ㄥ崟鎻愪氦submit function ajaxSubmitForm(form, options, formPost) { var $form = $(form); $form.find(':text').each(function() { var s1 = $(this).val(); var s2 = trimEnd(s1); if (s1 != s2) $(this).val(s2); }); var validate = true; // validate妫€鏌 if ($form.hasClass("validate")) { if (!$form.selfValid()) { validate = false; } } // ueditor妫€鏌 if (typeof syncEditorbeforeSave != 'undefined' && syncEditorbeforeSave instanceof Function) { if (!syncEditorbeforeSave()) validate = false; } if (window.onBeforeSubmit && !onBeforeSubmit($(form))) { validate = false; } if (!validate) { return; } if (formPost) { // POST if ($.isFunction(options)) { options = { response : options }; } else { options = options || {}; } var loading = null; options.beforeSubmit = function() { loading = layer.load(2, { shade : [ 0.4, '#000' ] }); if (options.onSubmiting) options.onSubmiting(); return true; }; options.success = function() { if (options.response) { options.response.apply(options, arguments); } }; options.dataType = options.dataType || "json"; $(form).ajaxSubmit(options).data('jqxhr').always(function() { layer.close(loading); }).fail(function(jqXHR, textStatus, errorThrown) { var errorMsg = normalizeAjaxFailGetMsg(jqXHR, textStatus, errorThrown); if (options.response) options.response.call(options, { success : false, message : errorMsg }); else layer.alert(errorMsg); }); } else { //JSON var data = $form.serializeObject(); ajaxPost($form.attr("action"), data, options); } } // json post function ajaxPost(url, data, callback) { if (!$.isFunction(callback)) { layer.alert('callback required'); return; } var options = { url : url, contentType : 'application/json', type : 'POST', dataType : 'json', data : JSON.stringify(data), cache : false, success : callback }; var loading = layer.load(2, { shade : [ 0.4, '#000' ] }); $.ajax(options).always(function() { layer.close(loading); }).fail(function(jqXHR, textStatus, errorThrown) { var errorMsg = normalizeAjaxFailGetMsg(jqXHR, textStatus, errorThrown); if (callback) callback.call(options, { requestResult : { success : false, message : errorMsg } }); else layer.alert(errorMsg); }); } function normalizeAjaxFailGetMsg(jqXHR, textStatus, errorThrown) { var errorMsg = errorThrown || '鎮ㄨ姹傜殑鎿嶄綔鎵ц澶辫触銆?, html = (jqXHR && jqXHR.responseText) ? jqXHR.responseText : jqXHR; if (jqXHR && jqXHR.status && jqXHR.status == '404') { return '璇锋眰鐨勮祫婧愪笉瀛樺湪'; } if (typeof (html) === 'string') { if (html && html.indexOf("") >= 0) { errorMsg = '鐧诲綍瓒呮椂锛岄渶瑕侀噸鏂扮櫥褰曘€?; } else if (html.indexOf('java.sql.SQLException') >= 0) { errorMsg = '鏁版嵁搴撴搷浣滃け璐ャ€?; } } return errorMsg; } $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (this.value) { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [ o[this.name] ]; } o[this.name].push(this.value || null); } else { if ($("[name='" + this.name + "']:checkbox", this).length) { o[this.name] = [ this.value ]; } else { o[this.name] = this.value || null; } } } }); return o; };