在我的應用程序中,我使用Javascript通過PageMethods調用VB側函數。當onSuccess函數被擊中時,我試圖將返回的字符串添加到表的內部html中。下面列出的是我試圖用它來做到這一點的JavaScript,但我不斷收到一個:無法通過Javascript更改表的innerHTML以添加行
"Microsoft JScript runtime error: Unknown runtime error"
下面是表(我想保持這一點,目前是如何可能的話,這是已經到位當我繼承這個項目時)。
<asp:Table id="tblResults" Runat="server" CssClass="detailTable" CellSpacing="0" CellPadding="4"
Width="100%">
<asp:TableRow CssClass="detailRow">
<asp:TableCell Width="1%"> </asp:TableCell>
<asp:TableCell Width="10%">
<b>ID</b></asp:TableCell>
<asp:TableCell>
<b>Title</b></asp:TableCell>
<asp:TableCell>
<b>Manager</b></asp:TableCell>
<asp:TableCell>
<b>Start Date</b></asp:TableCell>
<asp:TableCell>
<b>End Date</b></asp:TableCell>
<asp:TableCell>
<b>Status</b></asp:TableCell>
</asp:TableRow>
</asp:Table>
表的innerHTML當JS函數被調用:
<TBODY>
<TD style="WIDTH:1%"> </TD>
<TD style="WIDTH:10%"><B>ID</B></TD>
<TD><B>Title</B></TD>
<TD><B>Manager</B></TD>
<TD><B>Start Date</B></TD>
<TD><B>End Date</B></TD>
<TD><B>Status</B></TD></TR></TBODY>
這裏是成功的功能的JavaScript的 - 我所做的是我切斷的innerHTML的/ TBODY結局,要在返回字符串添加(包含HTML該表的其他行文本) - 然後添加/ TBODY回到關閉表:
function saveSuccess(c) {
var oldInner = document.getElementById('tblResults').innerHTML;
var index = oldInner.indexOf("</TBODY>");
oldInner = oldInner.slice(0, index);
document.getElementById('tblResults').innerHTML = oldInner + c + '</TBODY>';
}
任何人都可以看到爲什麼我收到這個錯誤,爲什麼表不更新顯示返回的HTML?
可能重複的[不能在IE中的tbody上的innerHTML](http://stackoverflow.com/questions/4729644/cant-innerhtml-on-tbody-in-ie) – epascarello