0
在我的主網頁更新的div我有一個div:JSP + AJX:使用innerHTML的問題
<div id = "content"><%@include file ="loadData.jsp" %></div>
的loadData.jsp有<table> ... </table>
然後一個div叫pager
做表分頁:
<div id"pager"> ... </div>
所以,當我點擊我的主網頁上的某些鏈接阿賈克斯將設置請求加載此loadData.jsp,我會做這樣的事情
document.getElementById("content").innerHTML=xmlhttp.responseText;
更新div內容的內容。我現在的問題是它僅適用於Chrome和Firefox,然後在IE中運行時出現此未知運行時錯誤。我有谷歌這個問題主要是因爲innerhtml,因爲我的輸出有一個div呼叫尋呼機。任何解決方案由於
var xmlhttp
function loadContent()
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Your browser does not support Ajax HTTP");
return;
}
var url="loadData.jsp";
xmlhttp.onreadystatechange=getOutput;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function getOutput()
{
if (xmlhttp.readyState==4)
{
document.getElementById("content").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
所以在我的主文件,我有此鏈接
<a href="javascript:loadContent()>All</a>
然後有一個
<div id = "content"><%@include file ="loadData.jsp" %></div>
所以,當我點擊鏈接這些內容將加載新的數據,它的工作原理在Firefox和鉻,但不是在IE瀏覽器,內loadData我有這個
<table width="900" border="0" class="sortable" id="menuTable">
<thead>
<tr align="left">
<th width="60">ID</th>
...
<th width="80">...</th>
</tr>
</thead>
<tbody>
...
</table>
<div id="pager" class="pager">
<form>
<select class="pagesize">
<option value="5">5 per page</option>
<option value="10" selected>10 per page</option>
<option value="15">15 per page</option>
<option value="20">20 per page</option>
</select>
</form>
</div>
請提供更多的代碼,目前還不清楚如何確定問題。我可以知道你怎麼稱呼這個請求並將它存儲在你的div中。如果它只在Chrome或FF中工作,可能只使用XMLHttpRequest()而不檢查ActiveXObject(「Microsoft.XMLHTTP」) – ace 2011-04-05 04:37:02
您是否有使用jQuery的選項?如果你這樣做,那麼使用它將是值得的,因爲你不必擔心跨瀏覽器問題。 – Pushkar 2011-04-05 07:57:08
你遇到的錯誤究竟是什麼?並且是IE導致問題的所有版本。看起來你的代碼很好,試着在你的GetXmlHttpObject() – ace 2011-04-06 02:43:25