/* ============================================================================================== 函数名称:getDomDocumentPrefix() 功能说明:获得IE浏览器对W3C DOM支持的版本 返回结果:IE浏览器对W3C DOM支持的版本前缀 使用说明:var str = getDomDocumentPrefix(); ============================================================================================== */ function getDomDocumentPrefix() { if (getDomDocumentPrefix.prefix) { return getDomDocumentPrefix.prefix; } var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; var object; for (var i = 0; i < prefixes.length; i++) { try { object = new ActiveXObject(prefixes[i] + ".DomDocument"); return getDomDocumentPrefix.prefix = prefixes[i]; } catch (ex) { } } throw new Error("Could not find an installed XML parser"); } /* ============================================================================================== 函数名称:getXmlHttpPrefix() 功能说明:获得IE浏览器对W3C DOM支持的版本 返回结果:IE浏览器对W3C DOM支持的版本前缀 使用说明:var str = getXmlHttpPrefix(); ============================================================================================== */ function getXmlHttpPrefix() { if (getXmlHttpPrefix.prefix) { return getXmlHttpPrefix.prefix; } var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; var object; for (var i = 0; i < prefixes.length; i++) { try { object = new ActiveXObject(prefixes[i] + ".XmlHttp"); return getXmlHttpPrefix.prefix = prefixes[i]; } catch (ex) { } } throw new Error("Could not find an installed XML parser"); } /* ============================================================================================== 对象名称:XmlHttp 功能说明:XmlHttp factory ============================================================================================== */ function XmlHttp() { } /* ============================================================================================== 函数名称:XmlHttp.create() 功能说明:创建XmlHttp对象 返回结果:XmlHttp对象的实例 使用说明:var xmlHttp = XmlHttp.create(); ============================================================================================== */ XmlHttp.create = function () {//Mozilla 浏览器 try { if (window.XMLHttpRequest) { var request = new XMLHttpRequest(); // some versions of Mozilla do not support the readyState property and the onreadystate event // so we patch it! if (request.readyState == null) { request.readyState = 1; request.addEventListener("load", function () { request.readyState = 4; if (typeof request.onreadystatechange == "function") { rerequestq.onreadystatechange(); } }, false); } return request; } if (window.ActiveXObject) {//IE浏览器 var request = new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp"); return request; } } catch (ex) { } throw new Error("Your browser does not support XmlHttp objects"); }; /* ============================================================================================== 对象名称:XmlDocument 功能说明:XmlDocument factory ============================================================================================== */ function XmlDocument() { } /* ============================================================================================== 函数名称:XmlDocument.create() 功能说明:创建XmlDocument对象 返回结果:XmlDocument对象的实例 使用说明:var xmlDocument = XmlDocument.creat(); ============================================================================================== */ XmlDocument.create = function () { try { // DOM2 if (document.implementation && document.implementation.createDocument) {//Mozilla 浏览器 var doc = document.implementation.createDocument("", "", null); // some versions of Mozilla do not support the readyState property and the onreadystate event // so we patch it! if (doc.readyState == null) { doc.readyState = 1; doc.addEventListener("load", function () { doc.readyState = 4; if (typeof doc.onreadystatechange == "function") { doc.onreadystatechange(); } }, false); } return doc; } if (window.ActiveXObject) {//IE浏览器 var doc = new ActiveXObject(getDomDocumentPrefix() + ".DomDocument"); return doc; } } catch (ex) { } throw new Error("Your browser does not support XmlDocument objects"); }; // Create the loadXML method and xml getter for Mozilla if (window.DOMParser && window.XMLSerializer && window.Node && Node.prototype && Node.prototype.__defineGetter__) { /* ============================================================================================== 函数名称:XmlDocument.loadXML() / Document.loadXML() 功能说明:装载XML文件到xmlDocument实例中 返回结果: 使用说明:xmlDocument.loadXML(); // XMLDocument did not extend the Document interface in some versions of Mozilla. Extend both! ============================================================================================== */ XMLDocument.prototype.loadXML = Document.prototype.loadXML = function (s) { // parse the string to a new doc var doc2 = (new DOMParser()).parseFromString(s, "text/xml"); // remove all initial children while (this.hasChildNodes()) { this.removeChild(this.lastChild); } // insert and import nodes for (var i = 0; i < doc2.childNodes.length; i++) { this.appendChild(this.importNode(doc2.childNodes[i], true)); } }; /* ============================================================================================== 函数名称:XmlDocument.getter() / Document.getter() 功能说明:将xmlDocument实例序列化为xml字符串 返回结果:xml字符串 使用说明:var str = xmlDocument.xml; // XMLDocument did not extend the Document interface in some versions of Mozilla. Extend both! ============================================================================================== */ XMLDocument.prototype.__defineGetter__("xml", function () { return (new XMLSerializer()).serializeToString(this); }); Document.prototype.__defineGetter__("xml", function () { return (new XMLSerializer()).serializeToString(this); }); } /* ============================================================================================== 函数名称:sendGET(url) 功能说明:以GET的方式发送请求到指定的地址 使用参数:url:发送请求的地址及XML串 返回结果: 使用说明:sendGET(url); ============================================================================================== */ function sendGET(url) { var xmlHttp = XmlHttp.create(); xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { response(xmlHttp.responseXML); } }; xmlHttp.send(null); } /* ============================================================================================== 函数名称:sendPOST(url,requestXML) 功能说明:以POST的方式发送请求到指定的地址 使用参数:url:发送请求的地址 使用参数:requestXML:发送的XML串 返回结果: 使用说明:sendPOST(url,requestXML); ============================================================================================== */ function sendPOST(url,requestXML,name,Syspath,areacode) { var xmlHttp = XmlHttp.create(); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { if(xmlHttp.status==200){ response(xmlHttp.responseXML,name,Syspath,areacode); } } }; //alert(url); xmlHttp.open("POST", url, true); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlHttp.send("requestXML="+requestXML); } /* ============================================================================================== 函数名称:getValue(element,name) 功能说明:获得指定节点的值 使用参数:element:指定节点的父节点 使用参数:name:指定节点的名字 返回结果:指定节点的值 使用说明:var value = getValue(element,name); ============================================================================================== */ function getValue(element,name) { var nameDom = element.getElementsByTagName(name)[0]; var value = nameDom.firstChild.data;//获取节点值 return value; } /* ============================================================================================== 函数名称:setValue(element,name,value) 功能说明:设置指定节点的值 使用参数:element:指定节点的父节点 使用参数:name:指定节点的名字 使用参数:value:指定节点的值 返回结果: 使用说明:setValue(xmlDocument,element,name,value); ============================================================================================== */ function setValue(xmlDocument,element,name,value) { var nameDom = element.getElementsByTagName(name)[0]; nameDom.appendChild(xmlDocument.createTextNode(value));//加入节点值 } /* 处理空字符串null */ function nulltostr(string){ if(string=="null") return ""; else return string; } /* 截取字符串 */ function getsubString(str,length){ if(str.length<=length) return str; if(str.length>=length) return str.substring(0,length)+"..."; } /* 日期验证 */ function checkdate(date){ var test_time= /^\d{4}-((0{1}[1-9]{1})|(1[0-2]{1}))-((0{1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/; if(!test_time.test(date)){ return false; }else{ var arr_hd=date.split("-"); if(parseFloat(arr_hd[0])