Javascript部分
var xmlHttp; //定义一个全局变量
//取得页面对象
//id,层id
function GetId(id)
{
return document.getElementById(id);
}
说明:这个大家应该都明白了,就是获得页面指定层的ID,因为用的比较多,所以单独写成了函数以便调用。
//主函数,用于层和图标的样式及执行AJAX
//id,层id
//rid,数据在表中的id
//pid,图id
function DivDisplay(id,rid,pid)
{
if (GetId(id).style.display=='')
{
GetId(id).style.display='none';
GetId(pid).src = 'images/closed.gif';
}
else
{
GetId(id).style.display='';
GetId(pid).src = 'images/opened.gif';
if (GetId(id).innerHTML=='')
{
ShowChild(id,rid);
}
}
}
说明:此函数是当栏目前的图标被点击时(onclick)的处理函数。当其子栏目处于显示状态时,单击后将子栏目隐藏,并将前面的图标变为关闭 ;当其子栏目处于隐藏状态时,单击后首先判断子栏目是否已经加载到页面,如果没有则通过ajax方法加载,然后显示,如果已经加载,则直接显示,同时将前面的图标变为打开
。
//创建XMLHttpRequest对象
function CreateXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
xmlHttp = new XMLHttpRequest();
}
}
说明:此函数是创建XMLHttpRequest对象,如果是IE,则创建ActiveXObject,如果是FireFox等其它浏览器则直接创建XMLHttpRequest()。
//Ajax处理函数
//id,层id
//rid,数据在表中的id
function ShowChild(id,rid)
{
CreateXMLHttpRequest();
if(xmlHttp)
{
xmlHttp.open('POST','columnAdmin.asp',true);
xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
var SendData = 'id='+rid;
xmlHttp.send(SendData);
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
GetId(id).innerHTML = xmlHttp.responseText;
}
else
{
GetId(id).innerHTML='出错:'+xmlHttp.statusText;
}
}
else
{
GetId(id).innerHTML="正在提交数据...";
}
}
}
else
{
GetId(id).innerHTML='抱歉,您的浏览器不支持XMLHttpRequest,请使用IE6以上版本!';
}
}
相关文章