用于在表中添加行的Javascript代码将单元格中的数据复制到新行中

Javascript code for adding rows in a table copies the data in the cell to new row

本文关键字:数据 单元格 新行中 复制 Javascript 添加行 用于 代码      更新时间:2023-09-26

我正在制作一个将在Internet Explorer中使用的表单。我有一个能够动态添加行的表。但是,单击"添加行"按钮时,它会将单元格中的所有数据复制到新行中。

任何人都知道这个把戏。Chrome运行正常。

<table id="divDocument" class="tftable" border="1">
<tr>
<td style="width:20px;"><INPUT type="checkbox" name="chk" /></td>
<td style="width:150px;"> <textarea id="txtDocument" class="textarea required" alt="Document/Item/Process" title="Document/Item/Process" style="border: none; width: 100%; height:100%;"></textarea></td>

</table>
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
if(rowCount<=6){ 
for(var i=0; i<colCount; i++) {
    var newcell = row.insertCell(i);
    newcell.innerHTML = table.rows[0].cells[i].innerHTML;
    switch(newcell.childNodes[0].type) {
        case "text":
            newcell.childNodes[0].innerHTML = "";
            break;
        case "text":
            newcell.childNodes[0].value = "";
            break;
        case "text":
            newcell.childNodes[0].value = "";
            break;
        case "text":
            newcell.childNodes[0].value = "";
            break;
        case "text":
            newcell.childNodes[0].value = "";
            break;
        case "checkbox":
            newcell.childNodes[0].checked = false;
            break;
        case "select-one":
            newcell.childNodes[0].selectedIndex = 0;
            break;
    } 
    }
} else{alert("Please submit another CCR with remaining items.  Thanks!");}
}

您需要添加文本区域类型并使用变量i:循环

<script>function addRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    var row = table.insertRow(rowCount);
    var colCount = table.rows[0].cells.length;
    if(rowCount<=6){
        for(var i=0; i<colCount; i++) {
            var newcell = row.insertCell(i);
            newcell.innerHTML = table.rows[0].cells[i].innerHTML;
            switch(newcell.childNodes[i].type) {
                case "text":
                    newcell.childNodes[i].innerHTML = "";
                    break;
                case "textarea":
                    newcell.childNodes[i].value = "";
                    break;
                case "text":
                    newcell.childNodes[i].value = "";
                    break;
                case "text":
                    newcell.childNodes[i].value = "";
                    break;
                case "text":
                    newcell.childNodes[i].value = "";
                    break;
                case "checkbox":
                    newcell.childNodes[i].checked = false;
                    break;
                case "select-one":
                    newcell.childNodes[i].selectedIndex = 0;
                    break;
            }
        }
    } else{alert("Please submit another CCR with remaining items.  Thanks!");}
}</script>