// 这里都是公用函数,挺多的... var // 获取元素 $ = function(element) { return (typeof(element) == 'object' ? element : document.getElementById(element)); }, // 生成元素到refNode appendElement = function(tagName, Attribute, strHtml, refNode) { var cEle = document.createElement(tagName); // 属性值 for (var i in Attribute){ cEle.setAttribute(i, Attribute[i]); } cEle.innerHTML = strHtml; refNode.appendChild(cEle); return cEle; }, // 获取元素坐标 getCoords = function(node){ var x = node.offsetLeft; var y = node.offsetTop; var parent = node.offsetParent; while (parent != null){ x += parent.offsetLeft; y += parent.offsetTop; parent = parent.offsetParent; } return {x: x, y: y}; }, // 事件操作(可保留原有事件) eventListeners = [], findEventListener = function(node, event, handler){ var i; for (i in eventListeners){ if (eventListeners[i].node == node && eventListeners[i].event == event && eventListeners[i].handler == handler){ return i; } } return null; }, myAddEventListener = function(node, event, handler){ if (findEventListener(node, event, handler) != null){ return; } if (!node.addEventListener){ node.attachEvent('on' + event, handler); }else{ node.addEventListener(event, handler, false); } eventListeners.push({node: node, event: event, handler: handler}); }, removeEventListenerIndex = function(index){ var eventListener = eventListeners[index]; delete eventListeners[index]; if (!eventListener.node.removeEventListener){ eventListener.node.detachEvent('on' + eventListener.event, eventListener.handler); }else{ eventListener.node.removeEventListener(eventListener.event, eventListener.handler, false); } }, myRemoveEventListener = function(node, event, handler){ var index = findEventListener(node, event, handler); if (index == null) return; removeEventListenerIndex(index); }, cleanupEventListeners = function(){ var i; for (i = eventListeners.length; i > 0; i--){ if (eventListeners[i] != undefined){ removeEventListenerIndex(i); } } }; /********************************************* - POPHint 弹出提示框 - By Mudoo 2008.5 **********************************************/ function popHint(obj, msg, initValues) { var _obj = $(obj), _objHint = $("popHint"), _msg = msg, _init = initValues; // 初始化失败... if(_obj==undefined || _msg==undefined || _msg=="") return; // 设置初始值 _init = _init==undefined ? {_type : "wrong", _event : "click"} : _init; // obj如果不可见。设置弹出对象为obj父元素 if(_obj.style.display=='none' || _obj.style.visibility=='hidden' || _obj.getAttribute('type')=='hidden') _obj = _obj.parentNode; var _type = null, _event = null, _place = getCoords(_obj), _marTop = null, _objText = $("popHintText"), // 初始化 init = function() { _hint = _obj.getAttribute("hint"); if(_hint=="false") return; // 有的时候initValues不为空.但是只设置一个值...避免发所错误.再次设置初始值... _type = _init._type==undefined ? "wrong" : _init._type; _type = _type.toLowerCase(); _event = _init._event==undefined ? "click" : _init._event; _event = _event.toLowerCase(); /* ****************************************** popHtml ******************************************
请输入您的用户名!
*/ // 好了.输出... var _Html = "
" + "
" + "
" + "
" + "
"+ "
" if(_objHint==null) { _objHint = appendElement("div", {"id" : "popHint"}, _Html, document.body); _objHint.style.display = "none"; _objText = $("popHintText"); } show(); }, // 显示 show = function() { _objHint.style.display = ""; _marTop = _objHint.offsetHeight; _msg = ""+ _msg; _objText.innerHTML = _msg; _objHint.style.left = _place.x +"px"; _objHint.style.top = (_place.y-_marTop+8) +"px"; // 关闭触发事件 switch(_event) { case "blur" : myAddEventListener(_obj, 'blur', hide); break; //default : case "click" : myAddEventListener(document, 'mousedown', hide); break; //这里可以自己扩展很多事件... } }, // 关闭 hide = function() { _objHint.style.display = "none"; _objText.innerHTML = ""; // 移除关闭触发事件 myRemoveEventListener(_obj, 'blur', hide); myRemoveEventListener(document, 'mousedown', hide); }; init(); } //去左空格; function ltrim(s){ return s.replace( /^\s*/, ""); } //去右空格; function rtrim(s){ return s.replace( /\s*$/, ""); } //左右空格; function trim(s){ return rtrim(ltrim(s)); } //----------------------------判断输入的日期是否正确----------------------------------- function CheckDate(INDate) { if (INDate=="") {return true;} subYY=INDate.substr(0,4) if(isNaN(subYY) || subYY<=0){ return true; } //转换月份 if(INDate.indexOf('-',0)!=-1){ separate="-"} else{ if(INDate.indexOf('/',0)!=-1){separate="/"} else {return true;} } area=INDate.indexOf(separate,0) subMM=INDate.substr(area+1,INDate.indexOf(separate,area+1)-(area+1)) if(isNaN(subMM) || subMM<=0){ return true; } if(subMM.length<2){subMM="0"+subMM} //转换日 area=INDate.lastIndexOf(separate) subDD=INDate.substr(area+1,INDate.length-area-1) if(isNaN(subDD) || subDD<=0){ return true; } if(eval(subDD)<10){subDD="0"+eval(subDD)} NewDate=subYY+"-"+subMM+"-"+subDD if(NewDate.length!=10){return true;} if(NewDate.substr(4,1)!="-"){return true;} if(NewDate.substr(7,1)!="-"){return true;} var MM=NewDate.substr(5,2); var DD=NewDate.substr(8,2); if((subYY%4==0 && subYY%100!=0)||subYY%400==0){ //判断是否为闰年 if(parseInt(MM)==2){ if(DD>29){return true;} } }else{ if(parseInt(MM)==2){ if(DD>28){return true;} } } var mm=new Array(1,3,5,7,8,10,12); //判断每月中的最大天数 for(i=0;i< mm.length;i++){ if (parseInt(MM) == mm[i]){ if(parseInt(DD)>31){return true;} }else{ if(parseInt(DD)>30){return true;} } } if(parseInt(MM)>12){return true;} return false;} //--------------------------------------------------------------------------------- //英文、数字、符号均为一个字节,汉字为两个。 因此结果为 6 //判断字符的数目 function len(s) { var l = 0; var a = s.split(""); for (var i=0;i