cui8873
2016-10-25 08:12
采纳率: 100%
浏览 4.9k
已采纳

Cannot set property 'innerHTML' of undefined

图片说明图片说明

我想点击上面的那个+号 然后输入数据后 把数据传入到后台 ,purchaseItems["+j+"] 是自己定义的集合

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 已采纳

    你的tr选择器应该错了,选出来的集合没有内容,调用get后得到undefined,再调用innerHTML就出错了

    或者tr里面没有td单元格

    已采纳该答案
    评论
    解决 3 无用
    打赏 举报
  • 半杯凉月 2016-10-25 08:31
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>My JSP 'tableaddrow.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <script type="text/javascript">
    function tableAddRow(tableName)
    {
    var row = tableName.insertRow(tableName.rows.length); //行对象
    var i = tableName.rows.length - 2; //table原有的行数
    var col; //列对象
    
    if(tableName==tableId)
    {
    col = row.insertCell(0);
    col.innerHTML = "<input type='text' size='1' />";
    col = row.insertCell(1);
    col.innerHTML = "<input type='text' size='1' />";
    col = row.insertCell(2);
    col.innerHTML = "<input type='text' size='1' />";
    col = row.insertCell(3);
    col.innerHTML = "<input type='text' size='1' />";
    }
    }
    </script>
    </head>
    <body>
    <input type=button value=增加行 onclick="tableAddRow(tableId);" />
    <table id="tableId">
    <tr bgcolor="#E1F0C4">
    <td>标号</td>
    <td>姓名</td>
    <td>性别</td>
    <td>年龄</td>
    </tr>
    </table>
    </body>
    </html> 
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题