首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插入带有javascript的新表行

插入带有javascript的新表行
EN

Stack Overflow用户
提问于 2014-03-01 12:43:34
回答 3查看 1.8K关注 0票数 0

我试图在每次有人选择要上传的文件之后,添加一个带有输入类型文件的新表行。

问题是,输入类型没有插入到新行中;

标记语言:

代码语言:javascript
复制
<table id = "images">
    <tr>    
        <td>Title: </td><td><input type="text" name="title" size="51" required><td>
    <tr>
    <tr>
        <td>Description:  </td><td><textarea type="text" name="story" rows="10" cols="60"></textarea><td>
    <tr>
    <tr>
        <td>Author:  </td><td><input type="text" name="auth" size="51" required></textarea><td>
    <tr>
    <tr>
        <td>Image:  </td><td><input type="file" name="image[]" size="20" accept="image/jpeg, image/png" required onChange="addRow('images')"></input><td>
    <tr>
</table>

联合来文:

代码语言:javascript
复制
<SCRIPT language="javascript">          
    addRow(tableID) 
    {       
        var table = document.getElementById(tableID);

        var rowCount = table.getElementsByTagName("tr").length;
        var row = table.insertRow(rowCount-2);

        var cell1 = row.insertCell(0);
        cell1.innerHTML = "Images";

        var cell3 = row.insertCell(1);
        var element2 = document.createElement("input");
        element2.type = "file";
        element2.name = "image[]";

        document.getElementsByName("image[]").lastChild.setAttribute("onChange", "addRow('images')");

        cell3.appendChild(

    }
</SCRIPT>

我看到的错误是:

未定义的TypeError:不能调用未定义的setAttribute方法

任何帮助都非常感谢。

彼得

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-01 12:58:06

代码语言:javascript
复制
function addRow(tableID) 
    {

        var table = document.getElementById(tableID);

        var rowCount = table.getElementsByTagName("tr").length;
        var row = table.insertRow();

        var cell1 = row.insertCell(0);
        cell1.innerHTML = "Image:";

        var cell3 = row.insertCell(1);
        var element2 = document.createElement("input");
        element2.type = "file";
        element2.name = "image[]";

        cell3.appendChild(element2);
        element2.setAttribute("onChange", "addRow('images')");
    }

这是一个有用的小提琴:http://jsfiddle.net/C3GRN/1/

票数 2
EN

Stack Overflow用户

发布于 2014-03-01 12:45:40

JAVASCRIPT

代码语言:javascript
复制
document.getElementById('images').innerHTML+="<tr><td>blah-2</td></tr>";

JQUERY

代码语言:javascript
复制
$('#images tr:last').after('<tr><td>blah-2</td></tr>');
票数 2
EN

Stack Overflow用户

发布于 2014-03-01 12:56:30

代码语言:javascript
复制
    $('#images tr:first').after('<tr><td><input type="text" ></td></tr>');  
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22114533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档