AJAX导致Div消失
|
使用AJAX调用CGI脚本,该脚本将打开文件并以DIV格式将其打印出来。
这在我拥有的测试页上可以正常工作,但由于某种原因在另一页上,它将内容打印到DIV中,然后清除DIV。使用alert(),我可以看到readystate从1,2,3,4,1,4变为,然后第二次在其4之后div内容被清除。实际上,它两次调用了updatepage()函数,但第二次DIV被清除。当我检入Firebug时,innerHTML从具有内容的内容更改为具有\“ \”的内容。
在我的测试页中,即使发生了相同的readystate序列,也不会发生这种情况。
这是我遇到问题的代码片段:
self.xmlHttpReq.open(\'POST\', cgiScript, true);
self.xmlHttpReq.setRequestHeader(\'Content-Type\', \'application/x-www-form-urlencoded\');
self.xmlHttpReq.onreadystatechange = function()
{
if (self.xmlHttpReq.readyState == 4)
{
updatepage(self.xmlHttpReq.responseText);
}
}
function updatepage(str)
{
document.getElementById(\"result\").innerHTML = str;
}
编辑!!!!!!!!!!!!!!!!!
好的,我认为我发现了什么问题,但是我不确定为什么。
锚html href = \“ \”引起了问题。一旦删除它,div就会保持填充。
这将导致DIV在打印后消失
<div class=\"menulinkboxes\" id=\"listdiv\">
<a class=\"mainmenulinks\"
onclick=\'openFile(\"list,autos\")\'
href=\"\">auto-list</a>
</div>
用href = \“#\”替换href = \“ \”修复了它。 #表示此页面
<div class=\"menulinkboxes\" id=\"listdiv\">
<a class=\"mainmenulinks\"
onclick=\'openFile(\"list,autos\")\'
>auto-list</a>
</div>
没有找到相关结果
已邀请:
1 个回复
课刊灭似
\“#\”告诉浏览器寻找锚标记,因此,如果之后将#符号留空,它将自动锚定。 另外,我发现innerHTML可能会引起问题,并且DOM方法非常方便。为了获取该值,它应该可以正常工作。只是想提一下。