我有这段代码:
function render_message(id)
{
var xmlHttp;
xmlHttp=new XMLHttpRequest();
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.getElementById('message').innerHTML=xmlHttp.responseText;
document.getElementById('message').style.display='';
}
}
var url="include/javascript/message.php";
url=url+"?q="+id;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
由于某种原因,它在IE中不起作用,并且在此行上报告了错误“document.getElementById('message')。innerHTML = xmlHttp.responseText;” “未知运行时错误”。
有人可以帮忙吗?
编辑:添加到div的代码是有效代码等。
以下是回复:
<div style="margin-left:auto;margin-right:auto;width:400px;">
<img src="/forum/img/avatars/2.gif" width="90" height="89" style="float:left;">
<div style="margin-left:100px;">
<span style="font-size:16pt;">Sam152</a></span><br>
<span style="font-size:10pt;text-transform:uppercase;font-weight:bold;">From Sam152</span><br>
<span style="font-size:10pt;font-weight:bold;">Recieved April 17, 2009, 9:44 am</span><br>
<br><br>
</div>
</div>
<div style="margin-left:auto;margin-right:auto;width:400px;">
asd</div>
<div style="margin-left:auto;margin-right:auto;width:400px;text-align:right;padding-top:10px;">
<span onClick="requestPage('http://www.gametard.com/include/scripts/delete_message.php?id=14');document.getElementById('message14').style.display='none';document.getElementById('message').style.display='none';" class="button">Delete</span>
<span onClick="document.getElementById('message').style.display='none';" class="button">Close</span>
<span onClick="document.getElementById('to').value ='Sam152';document.getElementById('to').style.color ='#000';document.getElementById('newmessage').style.display='';" class="button">Reply</span>
</div>
答案 0 :(得分:5)
不确定以下内容是否适用于您,因为您没有提及您正在使用的版本。
仅适用于ie7向上
var xmlhttp=new XMLHttpRequest();
在Internet Explorer 5和6中,您必须使用
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
答案 1 :(得分:2)
基本上,您正在尝试添加在您添加它的上下文中没有意义的HTML。在没有ul的情况下添加li,或者在没有表的情况下添加行会导致这种情况。
答案 2 :(得分:2)
相信我:使用Ajax框架。
jQuery或原型或任何其他。
不要自己动手 - 你只是看到了这个问题的跨浏览器冰山一角。
如果您必须自己检查,请在收到消息之前检查xmlHttp.status
。请记住,IE有时会返回Windows错误代码而不是HTTP状态,如果错误是连接丢失而不是HTTP状态,则旧版FX会抛出异常。
哦,IE6仍然占网络市场的30%左右,而企业网络市场占60%,所以@Paul Whelan的建议值得一试。
答案 3 :(得分:1)
如果结果无效,您可能会收到此错误 - 例如<a><a>foo</a></a>
或<a><p>foo</p></a>
。
没有看到更多的代码(什么类型的元素“消息”是什么和responseText是什么),很难说更多。
您的代码无效:
<span style="font-size:16pt;">Sam152</a></span>
^^^^