⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guest.js

📁 ajax+jsp留言本,大家可以免费下载
💻 JS
字号:
/**
 * @author baidongi
 * @since 2006.4.12
 * @version 0.3
 */
function Guestbook(){
	
	var p_count=0;  		//page count
	var c_page=1;	 		//current page
	var xmlData=null;	 		//response xmlData
	var paramString="";	//form parameter
	var url="";	 		//remote server url	
	var xml=null;	 		//xmlrequestobject
	var pageCount;		//总页数
	/**
	 * init
	 */
	init();	
	/**
	 * statement
	 */
	this.setParamString=function(param){
		paramString=param;
	}
	this.getParamString=function(){
		return paramString;
	} 
	 
	this.setUrl=function(i_url){
		url=i_url;
	}
	this.getUrl=function(){
		return url;
	}
	
	this.setP_count=function(countPageNum){
		p_count=countPageNum;
	}
	this.getP_count=function(){
		return p_count;
	}

	this.setC_page=function(currentPageNum){
		c_page=currentPageNum;
	}
	this.getC_page=function(){
		return c_page;
	}
	
	this.setData=function(xmlDataObject){
		xmlData=xmlDataObject;
	}
	this.getData=function(){
		return xmlData;
	}
	
	/**
	 * following methods
	 */	
	 /*init*/
	 function init(){
	 	var xmlArray=["MSXML3.XMLHTTP","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
	 	for(var i=0;i<xmlArray.length;i++){
	 		try{
	 			//ie 6 MSXML2
	 			xml=new ActiveXObject(xmlArray[i]);
	 		}catch(e){}
	 		if(xml!=null){	
	 			return;
	 		}	
	 	}//end for~
	 	//other Broswer
	 	xml=new XMLHttpRequest();
	 }
	 /**
	  * get method
	  * @param url remote url address
	  */
	 function getDataByGET(){	 	
	 	try{
	 		//是否是管理请求?
	 		if(arguments.length==2){
	 			var manageTrue;
	 			manageTrue=arguments[1];
	 		}
		 	if(xml!=null){
		 		xml.open("GET",arguments[0],true);
		 		xml.send(null);
		 		xml.onreadystatechange=function(){
		 			if(xml.readyState==4){
						if(xml.status==200){
							xmlData=xml.responseXML;						
							if(typeof manageTrue !="undefinded" && manageTrue=="manage"){
								//管理请求
								getOK(true);
							}else{
								getOK();
							}							
						}
		 			}
		 		}//end onrsc
		 	}else{
		 		xmlData=null;
		 	}//end if~
	 	}catch(e){}	
	 }
	 /**
	  * post method
	  * @param url remote url address
	  */
	 function getDataByPOST(url){	 	
	 	try{
	 		if(xml!=null){	 			
	 			xml.open("POST",url,true);
	 			xml.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	 			xml.send(paramString);
	 			xml.onreadystatechange=function(){	 				
	 				if(xml.readyState==4&&xml.status==200){
	 					xmlData=xml.responseXML;		 				
	 					postOK();
	 				}
	 			}	 			
	 		}else{
	 			return null;
	 		}	 		
	 	}catch(e){}
	 }
	 /**
	  * 右边的滚动条滚动到底部
	  */
	 function goBottom(){
		window.scrollTo(0,0);
	 }
	 /**
	  * post success then general document child elements
	  */
	 function postOK(){
	 	if(xmlData!=null){
	 		var errTag=xmlData.getElementsByTagName("error");
	 		 if(errTag.length<1){
	 		 	new Guestbook().get("../ProcessGuestBook?action=get&page=1&p=10&timeStamp="+new Date().getTime());
	 		 }else{
	 		 	alert("请不要在一小时之内重复提交表单!");
	 		 }
	 	}
	 }
	 
	 function getOK(){
	 	var errTag;
	 	if(xmlData!=null){
	 		errTag=xmlData.getElementsByTagName("error");
	 		if(errTag.length<1){
	 			//页面中存放留言的div的id号
	 			var c=document.getElementById("content");
	 			c.innerHTML="";
	 			var guestbook=xmlData.getElementsByTagName("guest");
	 			pageCount=parseInt(xmlData.getElementsByTagName("pageCount")[0].firstChild.data);
	 			for(var i=0;i<guestbook.length;i++){
	 				var nickname=guestbook[i].getElementsByTagName("nickname")[0].firstChild.data;
	 				var content=guestbook[i].getElementsByTagName("content")[0].firstChild.data;
	 				var ip=guestbook[i].getElementsByTagName("ip")[0].firstChild.data;
	 				var adddate=guestbook[i].getElementsByTagName("adddate")[0].firstChild.data;
	 				var reply=guestbook[i].getElementsByTagName("reply")[0].firstChild.data;
	 				//每个留言薄
	 				var guest=document.createElement("div");
	 				guest.className="guestDIV";
	 				//come on baby
	 				var t1=document.createElement("span");
	 				var h3=document.createElement("h3");
	 				h3.appendChild(document.createTextNode("第"+(i+1)+"条留言:"));
	 				t1.appendChild(h3);
	 				var h4=document.createElement("h4");
	 				h4.appendChild(document.createTextNode(" 作者:   "+nickname));
	 				h4.appendChild(document.createTextNode(" 来自:   "+ip.substring(0,ip.lastIndexOf("."))+".*"));
	 				t1.appendChild(h4);	
	 				var h5=document.createElement("h5");
	 				h5.appendChild(document.createTextNode("发表时间:   "+adddate));
	 				t1.appendChild(h5);	
	 				guest.appendChild(t1);
					var contentDIV=document.createElement("div");
					contentDIV.className="guestContent";					
					contentDIV.innerHTML=content;					
					guest.appendChild(contentDIV);
					//回复
					if(arguments.length!=0){
						//管理员登陆后的处理
						if(reply=="null"){
							reply="单击添加回复内容...";
						}
						var replya=document.createElement("div");
						replya.innerHTML=reply;
						replya.className="replyA";				
						contentDIV.appendChild(document.createElement("br"));
						contentDIV.appendChild(replya);
					}else{
						if(reply!="null"){
							var replyDIV=document.createElement("div");
							replyDIV.className="replyContent";					
							replyDIV.innerHTML="回复:"+reply;
							contentDIV.appendChild(replyDIV);
						}
					}	
	 				c.appendChild(guest);	 				
	 			}//end for~
	 			var slicePage=document.createElement("div");
	 			slicePage.className="slicePage";	 			
	 			if(pageCount>0){
	 				for(var i=0;i<pageCount;i++){
	 					var a=document.createElement("a");
	 					a.setAttribute("href","javascript:book.get('../ProcessGuestBook?action=get&page="+(i+1)+"&p=10&timeStamp="+new Date().getTime()+"')");
	 					a.innerHTML="第 "+(i+1)+" 页";
	 					slicePage.appendChild(a);
	 				}
	 				guest.appendChild(slicePage);
	 			}
	 			goBottom(); 			
	 		}else{
	 			//返回了错误的信息,在这里处理
	 			//alert(errTag.length);
	 		}
	 	}else{
	 		//alert("null");
	 		//没有返回来数据
	 	}//~
	 }
	 /**
	  * save the form elements value to server xmlDatabase
	  * @param formObj  the form on the guestbook page
	  */
	 this.save=function(formObj,url){
	 	if(formObj!=null){
	 		/*get the form value*/
	 		paramString="";
	 		for(var i=0;i<formObj.length;i++){
	 			//不能空,不能全是空格
	 			if(!new RegExp(".+").test(formObj[i].value.replace(/(^\s*)|(\s*$)/g, ""))){
	 				alert("请将表单添写完整之后再提交!");
	 				return false;
	 			}
	 			paramString+=formObj[i].type!="button"?formObj[i].id+"="+formObj[i].value+"&":"";
	 		}
	 		paramString+="timeStamp="+new Date().getTime();
	 		paramString=encodeURI(paramString);
	 		/*send xmlData*/
	 		getDataByPOST(url);
	 	}else{
	 		alert("表单对象错误!");
	 	}
	 }
	 /**
	  * get guestbook info from server
	  * @param remote server url address
	  */
	 this.get=function(){
	 	//动态参数,参数为两个时,为管理功能请求
	 	if(arguments.length==2){
	 		getDataByGET(arguments[0],arguments[1]);
	 	}else{
			getDataByGET(arguments[0]);
	 	}
	 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -