2017-08-29 8 views
0

HTMLページには、フォーム内にテーブルがあります。テーブルの最初の行は列のラベルで、残りの行は入力テキストフィールドを含んでいます。JavaScriptを使用してテーブルに新しい行を追加するときの入力フィールドをリセットする

表の下には、表の最後に最初の行を複製する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関数を見ることができます。

入力フィールドのテキストをコピーしないようにスクリプトに追加する必要はありますか?

+0

テーブルidは 'addresses'で、関数の引数として' branches'を渡しています。それを得ることができません... –

+0

@YashParekh私は質問にコードをコピーしたとき私の間違いでした。私は質問の中のいくつかの値を変更し、私もそれを調整するのを忘れました。 –

+0

値を含む入力テキストフィールドで新しい行が表示されます。私は正しい? –

答えて

2

新しい行の値は、コピーする代わりに手動で設定できます。同様に:

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

この方法で、新しいセルに入るものを制御します。

関連する問題