【问题标题】:How to change name of input text, when adding more inputs添加更多输入时如何更改输入文本的名称
【发布时间】:2015-06-06 02:00:04
【问题描述】:

这是表格

<form action=""  method="POST">
  <input type="button" value="addmore" onClick="addRow('dataTable')" />
  <table id="dataTable" class="TFtable" border="1">
    <tr>
      <td><label>should be auto increment(like (name1, name2, name3 ...))</label>
        <input type="text" required="required" name="DONINID[]" value=""></td>
    </tr>
  </table>
  <input class="submit" type="submit" value="Confirm &raquo;" />
</form>

这是添加更多的脚本 => script.js:

function addRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    if(rowCount < 20){                          // limit the user from creating fields more than your limits
        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[0].cells[i].innerHTML;
        }
    }else{
         alert("Maximum Passenger per ticket is 20.");

    }
}

function deleteRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    for(var i=0; i<rowCount; i++) {
        var row = table.rows[i];
        var chkbox = row.cells[0].childNodes[0];
        if(null != chkbox && true == chkbox.checked) {
            if(rowCount <= 1) {                         // limit the user from removing all the fields
                alert("Cannot Remove all the Passenger.");
                break;
            }
            table.deleteRow(i);
            rowCount--;
            i--;
        }
    }
}

现在 idia 也是如何更改标签名称,因为我们添加了更多输入框,它应该是自动递增的,例如:

name1, name2, name3, name3,当我们添加它时应该显示给我们。

提前致谢。

【问题讨论】:

  • 简单表单,点击addmore可以添加更多输入框

标签: javascript php jquery forms


【解决方案1】:

添加一个变量来跟踪下一个要使用的#,并在每次添加时将其附加到内容和名称中。

HTML

<form action="" method="POST">
<input type="button" value="addmore" onClick="addRow('dataTable')" />
<table id="dataTable" class="TFtable" border="1">
    <tr>
        <td>
            <label>Name 1:</label>
            <input type="text" required="required" name="name1" />
        </td>
    </tr>
</table>
<input class="submit" type="submit" value="Confirm &raquo;" />

JavaScript

var nextName = 2;

function addRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    if (rowCount < 20) { // limit the user from creating fields more than your limits
        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 = '<label>Name ' + nextName + ':</label>' +
                '<input type="text" required="required" name="name' + nextName + '" />';
            nextName++;
        }
    } else {
        alert("Maximum Passenger per ticket is 20.");

    }
}

function deleteRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    for (var i = 0; i < rowCount; i++) {
        var row = table.rows[i];
        var chkbox = row.cells[0].childNodes[0];
        if (null != chkbox && true == chkbox.checked) {
            if (rowCount <= 1) { // limit the user from removing all the fields
                alert("Cannot Remove all the Passenger.");
                break;
            }
            table.deleteRow(i);
            rowCount--;
            i--;
        }
    }
}

演示http://jsfiddle.net/BenjaminRay/4jnw0t09/

【讨论】:

    猜你喜欢
    • 2019-12-24
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多