//根据不同的浏览器创建异步对象
function createXmlHttp() {
xhobj = false;
try {
xhobj = new ActiveXObject("Msxml2.XMLHTTP"); // iemsxml3.0+
} catch (e) {
try {
xhobj = new ActiveXObject("Microsoft.XMLHTTP"); //iemsxml2.6
} catch (e2) {
xhobj = false;
}
}
if (!xhobj && typeof XMLHttpRequest != 'undefined') {// Firefox, Opera 8.0+, Safari,谷歌浏览器
xhobj = new XMLHttpRequest();
}
return xhobj;
}
//根据Id返回对应的dom对象
function gel(id) { return document.getElementById(id); }
window.onload = function () {
xhr = createXmlHttp(); //当浏览器加载完所有的资源后便创建异步对象
getPagedData(1); //向服务器请求第一页数据
}
//(get 提交方式)根据页码 从服务器获得 当前页数据
function getPagedData(pi) {
pageIndex = pi;
xhr.open("get", "ClassList.ashx?pi=" + pi, true);
xhr.setRequestHeader("If-Modified-Since", "0"); //不是用缓存
xhr.onreadystatechange = callback; //设置回调函数
xhr.send(null);
}
//回调函数
function callback() {
if (xhr.readyState == 4) {//异步状态
if (xhr.status == 200) {//如果服务器没有出错(请求正常)
var res = xhr.responseText; //获取服务器返回的[json格式字符串]
//将包含json格式元素的数组字符串 转成 js对象
var resJson = eval("(" + res + ")");
//创建表格数据
createTable(resJson);
//调用 创建页码条方法 传入 返回数组的最后一个元素(包含 总页数和总行数)
createPageBar(resJson[resJson.length - 1]);
}
}
}
//(post提交方式)执行修改
function doModify() {
xhr.open("post", "UpdateClass.ashx", true);
//使用post方式提交数据时 需要设置 参数的编码格式
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) { //如果服务器没有出错(请求正常)
var res = xhr.responseText; //获得服务器返回的 [json格式字符串]
if (res == "ok") {
var tbList = document.getElementById("mT"); //获得数据表格dom对像
//循环表格 所有行 并通过对比每一行第一列的值至找到要被修改的行
for (i = 1; i < tbList.rows.length; i++) {
if (tbList.rows[i].childNodes[0].innerHTML == modifyId) {
tblist.rows[i].childNodes[1].innerHTML = document.getElementById("txtClassName").value;
tblist.rows[i].childNodes[2].childNodes[0].innerHTML = document.getElementById("cimg").src;
tblist.rows[i].childNodes[4].innerHTML = document.getElementById("txtCount").value;
tblist.rows[i].childNodes[5].innerHTML = document.getElementById("txtSupport").value;
tblist.rows[i].childNodes[6].innerHTML = document.getElementById("txtAgainst").value;
//隐藏修改面板
var mp = document.getElementById("modifyPanel");
mp.style.display = "none";
break;
}
}
} else {
alert("修改失败!");
}
}
}
}
xhr.send("id=" + modifyId + "&className=" + encodeURI(gel("txtClassName").value) + "&count =" + gel("txtCount").value + "&support=" + gel("txtSupport").value + "&against=" + gel("txtAgainst").value);
}