Javascript更改firstChild属性的值

时间:2014-01-03 18:24:39

标签: javascript php html forms children

问题: 我正在使用按钮复制div。 在div中是表单的一部分:

<form method="post" action="order-opstellen.php">
  <div id="duplicate">
    <input type="hidden" id="counter" value="0">
  </div>
  <input type="button" onclick="duplicate()" value="Add">
  <button type="submit">Send</button>
</form>

我正在使用这个脚本:

<script type="text/javascript">
var i = 0;
var original = document.getElementById('duplicate');
function duplicate() {
  var clone = original.cloneNode(true);
  clone.id = "duplicate" + ++i;
  clone.style.clear = "both";
  original.parentNode.appendChild(clone);
  var tempId = document.getElementById("duplicate" + i);
  tempId.childNodes[0].value=i;
}
</script>

正如您所看到的,我正在尝试更改每个输入的值。 每次复制div时都加1。 显然它不起作用。我该怎么做?

更新

所以我的第一部分工作了。 现在我需要更深入。

<form method="post" action="order-opstellen.php">
  <div id="duplicate">
    <input type="hidden" id="counter" value="0">
    <div class="form-group dispWidth fl">
      <label>Productnaam</label>
        <select class="form-control dispWidth" name="productnaam"> <?php
         $sql_products  =   "SELECT * FROM product ORDER BY naam";
         $results   =   $conn->query($sql_products)->fetchAll(PDO::FETCH_OBJ);
         foreach    ($results   as  $row)   {
         ?>
          <option value="<?=    $row->productnr ?>"><?= $row->naam  ?></option>
          <?php }
          ?>
        </select>
    </div>
<div class="form-group dispWidth fl ml">
  <label>Aantal</label>
  <input type="text" name=amountCount class="form-control dispWidth" placeholder="Hoeveelheid">
</div>
</form>

我想要的是每次复制div时,select-name必须是唯一的。此外,最后一个输入的名称必须是唯一的(amountCount)。 可能通过在它们后面同意i变量(productnaam1,productnaam2,amountCount1。)。怎么样?!

1 个答案:

答案 0 :(得分:3)

childNodes[0]是包含换行符和缩进的文本节点。

请尝试children[0]

此外,tempIdclone完全相同,所以只需使用clone.children[0].value = i;