来自ajax页面的responsetext未显示在预期位置

时间:2011-07-15 19:00:41

标签: ajax

我的代码我从ajax页面获取一个值,但它显示的位置与我希望显示的位置不同。我想把它显示出来,..

<tr><td>hello</td></tr>
<tr id="showajax"><td>Ajax Value is:</td><div id="ajaxhide"></div></tr>

这里返回的ajax值显示在其他地方。

我曾使用过document.getElementById('ajaxhide')。innerHTML = xmlhttp.responseText;在javascript里面也正常。 返回的ajax值就像这样

        echo '<td>'."Thanks".'</td>';

1 个答案:

答案 0 :(得分:2)

首先,你要尝试动态调整表的大小。最好将单元格创建为空,然后更新内容。

你也有一些无效的语法,<div id="ajaxhide"></div>浮动在任何表格单元格之外但在表格行内。这不仅仅是因为验证失败而且每个浏览器都可以对它进行不同的处理,而且当你进行内容更改时,你试图在div中插入一个单元格(技术上不允许)行(技术上也不允许)。

解决方案是使用:

<tr id="showajax"><td>Ajax Value is:</td><td id="ajaxhide"></td></tr>

现在进行AJAX更新:

 document.getElementById('ajaxhide').innerHTML=xmlhttp.responseText;

Internet Explorer上的警告

IE认为COLCOLGROUPTABLETBODYTFOOTTHEADTR只读。这意味着您可以更新单元格(TDTH),但不能更新整行而不是整个表格。在上面的示例中,您并没有尝试这样做......但是如果您的设计发生变化,请注意这个限制。