日期:2014-05-16  浏览次数:20879 次

ajax显示数据 第二遍不能显示
function showLifeList(str)
  {
  if(str!="")
  {  
  var url="../AjaxService/Default.aspx?id="+ escape(str);
  xmlhttp=createXMLHttpRequest();
  xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
  var dom=xmlhttp.responseXML;
  var innerHTML="";
  for(var i=0;i<9;i++)
  {
  if(i==0)
  {
  innerHTML+="<ul id='life_list'><li style='background:url(image/libj1.jpg) no-repeat ; padding-left:15px; color:#000; width:240px;'><p style='width:auto; margin-top:-4px;'>"+dom.getElementsByTagName("Collection_Title")[i].text+"</p><h5 style='float:left; width:180px; display:inline'><span style='float:left; font-weight:normal; color:#999;'>"+dom.getElementsByTagName("Collection_Time")[i].text.substring(0,10)+"</span><span style='float:left; margin-left:85px; font-weight:normal; color:#669900'>顶["+dom.getElementsByTagName("Collection_remark")[i].text+"]</span></h5></li>";
  }
  else
  {
  innerHTML+="<li style='padding-left:15px; color:#000; width:240px;'><p style='width:auto; margin-top:-4px;'>"+dom.getElementsByTagName("Collection_Title")[i].text+"</p><h5 style='float:left; width:180px; display:inline'><span style='float:left; font-weight:normal; color:#999;'>"+dom.getElementsByTagName("Collection_Time")[i].text.substring(0,10)+"</span><span style='float:left; margin-left:85px; font-weight:normal; color:#669900'>顶["+dom.getElementsByTagName("Collection_remark")[i].text+"]</span></h5></li>";
  }
  }
  innerHTML+="</ul>";
  document.getElementById("gdt-nr").innerHTML=innerHTML; alert(innerHTML);
  }
  }
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  }
  }

为什么第一遍显示数据就好好的,在点别的<a>标签onclick事件 就显示空的数据呢?alert()明明能看到值啊?

------解决方案--------------------
如果innerHTML有值 看是不是哪里把它跟隐藏掉了 或者是不是其他方法又把它清空了
------解决方案--------------------
可能错误不在于你这个函数,而在于你gdt-nr这个元素的定义,看看定义是否闭合,
别出现<div id="gdt-nr"><div>这种不闭合的定义。