javascript无刷新回传问题?
需求是这样的:看js代码。
var AllOrNone = ""
var setclassid = ""
var xmlHttpCheck;
try
{
xmlHttpCheck=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttpCheck=new ActiveXObject("Microsoft.XMLHTTP"); //老版本浏览器
}
catch(e)
{
xmlHttpCheck=false;
}
}
if (!xmlHttpCheck && typeof (XMLHttpRequest)!='undefined') //其它浏览器,如FF等...
{
xmlHttpCheck=new XMLHttpRequest();
}
function SetCurrentAll(classid)
{
setclassid = classid;
if(document.getElementById("chkClassid"+classid).checked==true)
{
AllOrNone = true;
}
else
{
AllOrNone = false;
}
if(AllOrNone == true)
{
var urlCheckAll="getboby.asp?classid="+escape(setclassid)+"&r=" + Math.random();
xmlHttpCheckAll.open("Get",urlCheckAll,true);
xmlHttpCheckAll.onreadystatechange=userbacknoteAll;
xmlHttpCheckAll.send(null);
document.getElementById("classid"+classid).className = "aa";
}
else
{
document.getElementById("selectedbabyid"+setclassid).value = "";
document.getElementById("classid"+classid).className = "";
}
}
function userbacknoteAll()
{
if (xmlHttpCheckAll.readyState==4)
{
var response=xmlHttpCheckAll.responseText;
responseSplit = response.split(";");
var currentselectbaby = "";
for(i=0;i<=responseSplit.length-2;i++)
{
strArray = responseSplit[i].split(",");
currentselectbaby = currentselectbaby + "," + strArray[0];
}
//alert(currentselectbaby);
document.getElementById("selectedbabyid"+setclassid).value = currentselectbaby.substring(1);
}
}
有个js中的字符串 a =3102,3251,1256 (说明:a为classid的构造字符串)
现在进行这个字符串的分割后调用上头的函数:
for(var p=0;p<a.length;p++)
{
SetCurrentAll(classidsplit[p]); //这里调用上面的SetCurrentAll
}
这里出错了,只有后头的1256这个有值,其它3102,3251都无值的(数据表里头是有值的),即是打印出currentselectbaby为空值。为何呢?帮我看一下,谢谢了。