使用不同变量名的JavaScript插入HTML表行

使用不同变量名的JavaScript插入HTML表行,javascript,Javascript,我有一个页面,允许用户编辑他们的数据(在数据库上)。我有一个可以插入行的JavaScript。这些行包含文本框,其值存储在不同的变量中。因此,我需要一种插入具有相同结构但变量名不同的表行的方法。 为了同时插入/编辑数据,我需要不同字段上的不同值。(插入/编辑在edited.php页面上进行) JavaScript: <script type="text/javascript"> function addRow(tableID) { var table = d

我有一个页面,允许用户编辑他们的数据(在数据库上)。我有一个可以插入行的JavaScript。这些行包含文本框,其值存储在不同的变量中。因此,我需要一种插入具有相同结构但变量名不同的表行的方法。

为了同时插入/编辑数据,我需要不同字段上的不同值。(插入/编辑在edited.php页面上进行)

JavaScript:

<script type="text/javascript">
    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;

        for(var i=0; i<colCount; i++) {

            var newcell = row.insertCell(i);

            newcell.innerHTML = table.rows[1].cells[i].innerHTML;
            //alert(newcell.childNodes);
            switch(newcell.childNodes[0].type) {
                case "text":
                        newcell.childNodes[0].value = "";
                        break;
                case "checkbox":
                        newcell.childNodes[0].checked = false;
                        break;
                case "select-one":
                        newcell.childNodes[0].selectedIndex = 0;
                        break;
            }
        }
    }

</script>

函数addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var colCount=table.rows[0].cells.length;

对于(var i=0;i,您可以使用javascript createElement函数,下面是一个小示例,可以帮助您了解以下内容:

    function addNewRow(tableID) {

        var table = document.getElementById(tableID);

        var row = document.createElement('tr');
        var data = document.createElement('td');
        var tbx = document.createElement('input');
        tbx.setAttribute('type', 'text');

        data.appendChild(tbx);

        row.appendChild(data);
        table.appendChild(row);

    }
它应该是相当自解释的,创建一个元素,设置其属性,并向其中添加子元素,在您的例子中是:textbox、checkbox等

如果您需要动态ID和/或值,请添加一个计数器变量,并在执行过程中递增和/或添加如下参数

function addNewRow(tableID, input1, input2, input3){}

您可以将名称指定给动态创建的每一行,如下所示:

var row_counter=0 // have a global counter
var row = table.insertRow(rowCount);
row.setAttribute("id", "row"+row_counter);
//NOW INCREMENT THE COUNTER BASED ON YOUR LOOP

您可以按自己的方式计算循环。

插入新行成功吗?您希望在单元格中插入什么值?单元格包含文本框。这些文本框从数据库中选择了信息,因此用户只需编辑任何内容。现在,我有了一个按钮,可以插入更多具有相同文本的单元格框,但不同的变量。它成功地插入了一个新的HTML行。你能创建一个完整的代码吗?我仍然不清楚你到底想要函数做什么。我想函数插入新的表行,但有不同的变量。假设表行有3个文本框,每个文本框都有一个变量属性($input1,$input2,$input3)。我想用不同的变量创建一个新行。($newinput1,$newinput2,$newinput3)