javascript - 使用 JavaScript 将新行添加到表时重置输入字段

标签 javascript php html html-table html-input

在我的 HTML 页面上,表单内有一个表格。表的第一行是列的标签,其余行包含输入文本字段。

在表格下方,有一个按钮,用于操作 JavaScript 函数,该函数复制表格末尾的第一行。

问题在于文本也从第一行字段复制到新添加的行字段。相反,我想清除新添加的行字段中的文本。我怎样才能做到这一点?

这是我的代码:

<form action="update.php" method="post" enctype="multipart/form-data">
<table id="addresses" class="form" border="1">
<tbody>
  <tr>
    <p>
      <th>

      </th>
      <th>
        <label for='UPDATE_NAME'>Name</label>
      </th>
      <th>
        <label for='UPDATE_NUMBER'>Phone Number (With Country Code)</label>
      </th>
      <th>
        <label>Address (House No., Street, City, State, ZIP Code, P.O. Box)</label>
      </th>
    </p>
  </tr>
  <?php
                            for ($i = 0; $i < count($addresses); $i++) {
                                $id = str_pad($i, 2, '0', STR_PAD_LEFT);
                                echo "<tr>";
                                echo "<p>";
                                echo "<td>";
                                echo "<input type='checkbox' name='chk[]' />";
                                echo "</td>";
                                echo "<td>";
                                echo "<input type='text' name='UPDATE_NAME[]' value='".$names[$id]['S']."' />";
                                echo "</td>";
                                echo "<td>";
                                echo "<input type='tel' name='UPDATE_NUMBER[]' value='".$numbers[$id]['S']."' />";
                                echo "</td>";
                                echo "<td>";
                                echo "<input type='text' name='UPDATE_ADDRESS[]' value='".$addresses[$id]['S']."' />";
                                echo "</td>";
                                echo "</p>";
                                echo "</tr>";
                            }
                        ?>
</tbody>
</table>
<p>
    <input type="button" value="Add Address" onClick="addRow('addresses')" />
</p>
<script>
function addRow(tableID) {
  var table = document.getElementById(tableID);
  var rowCount = table.rows.length;
  if (rowCount < 10) {
    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;
    }
    document.getElementById("APP_UPDATE_NAME[" + rowCount + "]").reset();
  } else {
    alert("Maximum Branches Number is 10");
  }
}
</script>
<input type="submit" class="flat-button form" name="SUBMIT" value="Update Addresses" />
</form>

在上面的代码中,您可以看到带有标签的第一行,之后是一个从 PHP 数组添加信息的 PHP 循环。在表格后面,您可以看到向表格添加一行的 JavaScript 函数。

我需要在脚本中添加什么,以便在复制时不包含输入字段中的文本?

最佳答案

您可以手动设置新行的值,而不是复制它。就像这样:

newcell.innerHTML = "<input type='...' name='...' value='...' />";

通过这种方式,您可以控制进入 newcell 的内容。

关于javascript - 使用 JavaScript 将新行添加到表时重置输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45937052/

相关文章:

javascript - ExtJS:使用一个网格加载多个商店

php - Laravel 5.1 中的 Elasticsearch

PHP curl 与 Microsoft Dynamics CRM 2011 对话

html - 如何使用 css/html 移动图像

javascript - 通过 session 存储获取所有表行值

javascript - 给定一个像 [[el1,el2],[el11,el22],[el111,el222]] 这样的数组......当第一个值相等时迭代并求和子数组的第二个值

c# - 在 JavaScript 中使用服务器端资源

php - 使用 htaccess 重定向到另一个文件夹并隐藏文件夹的名称

javascript - jquery .css 脚本不工作

javascript - webpack 4 react 意外 token ...(扩展运算符)