无法获取属性';0';未定义或空引用的JavaScript Internet Explorer
JavaScript代码无法获取属性';0';未定义或空引用的JavaScript Internet Explorer,javascript,jquery,Javascript,Jquery,JavaScript代码 函数更新(){ var-newAmt=0; var newtable=document.getElementById(“tbl”); 对于(var i=0;i
函数更新(){
var-newAmt=0;
var newtable=document.getElementById(“tbl”);
对于(var i=0;i
innerTable.rows[0]正在引发异常,因为无法在Internet Explorer中获取未定义或空引用的属性“0”
但同一段代码在EclipseWeb浏览器中工作得非常好
HTML
<table id="tbl">
<logic:iterate name="editList" property="list" id="editForm">
<tr>
<td>
<table>
<tr>
<td></td>
<td /></td>
<td></td>
<td /></td>
<td></td>
<td><html:text name="Amt" onchange="update()" /></td>
</tr>
<tr>
</tr>
<tr>
</tr>
</table>
</td>
</tr>
</logic:iterate>
</table>
这两天来一直困在这里。完全受够了有人帮我
提前感谢生成此异常是因为innerTable.rows的值为null或未定义。您正在尝试获取未定义或null值的第0个索引。请在获取innerTable.rows的值之前进行null/undefined检查
为了验证,您可以在控制台中记录innerTable.rows的值。尝试一下这个简单得多的代码 注意:我删除了内联事件处理程序
函数isNumber(n){
return!isNaN(parseFloat(n))和&isFinite(n);
}
变量字段,newAmt=0;
//不引人注目的版本忽略表
window.onload=函数(){
fields=document.queryselectoral(“[name=Amt]”);
对于(变量i=0;i
只要开始输入数字就行了
测试您的固定代码这显示了什么?for(var i=0;i
val=innerTable.rows[0]。cells[5]。childNodes[0]。value;//由于无法获取未定义或空引用的属性“0”,引发异常请在IE中检查我的更新代码-填写一些数字,然后单击按钮lert(innerTable.rows.length)这是显示2。当我在eclipse web浏览器上运行时,它不会引发任何异常,但在IE中它不工作
<table id="tbl">
<logic:iterate name="editList" property="list" id="editForm">
<tr>
<td>
<table>
<tr>
<td></td>
<td /></td>
<td></td>
<td /></td>
<td></td>
<td><html:text name="Amt" onchange="update()" /></td>
</tr>
<tr>
</tr>
<tr>
</tr>
</table>
</td>
</tr>
</logic:iterate>
</table>