2017-09-30 14 views
3

次のコードで作成されたレコードセットに名前を付ける方法を知りたいと思います。問題は、「送信」をクリックするたびに、最新のセットだけがデータベースに送信されることです。すべてのデータをデータベースに送信できるようにコードを変更する方法を知りたいありがとう。javascriptによって動的に作成されるオブジェクトの名前付け方法

function addRow(tableID) { 
 
    var table = document.getElementById(tableID); 
 
    var rowCount = table.rows.length; 
 
    if (rowCount < 5) { 
 
    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 Number of Courses is 5"); 
 

 
    } 
 
} 
 

 
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) { 
 
     alert("Cannot Remove all the Courses."); 
 
     break; 
 
     } 
 
     table.deleteRow(i); 
 
     rowCount--; 
 
     i--; 
 
    } 
 
    } 
 
}
<form action="*.php" enctype="multipart/form-data" id="form" method="post" name="form"> 
 
    <table id="dataTable" class="form" border="1"> 
 
    <tbody> 
 
     <p></p> 
 
     <td> 
 
     <input type="checkbox" name="chk[]" checked="checked" /> 
 
     </td> 
 
     <td> 
 
     <label for="course">Course</label> 
 
     <select id="course" name="course"> 
 
      <option></option> 
 
      <option>Course 1</option> 
 
      <option>Course 2</option> 
 
      <option>Course 3</option> 
 
      <option>Course 4</option> 
 
      <option>Course 5</option> 
 
     </select> 
 
     </td> 
 

 
     <td> 
 
     <label for="year">Year</label> 
 
     <select id="year" name="year"> 
 
      <option>Select Year</option> 
 
      <option>2000</option> 
 
      <option>2001</option> 
 
      <option>2002</option> 
 
     </select> 
 
     </td> 
 

 
     <td> 
 
     <label for="semester">Semester</label> 
 
     <select id="semester" name="semester"> 
 
      <option>Select Semester</option> 
 
      <option>1</option> 
 
      <option>2</option> 
 
      <option>3</option> 
 
     </select> 
 
     </td> 
 
    </tbody> 
 
    </table> 
 
    <p></p> 
 
    <input type="button" value="Add Course" onClick="addRow('dataTable')" /> 
 
    <input type="button" value="Remove Course" onClick="deleteRow('dataTable')" /> 
 
    <input id="button" name="submit" type="submit" value="Submit Data" /> 
 

 
    <p></p> 
 

 
</form>

ヘルプは非常にあなたが代わりに(すべての入力と同じ)name="course"書き込みname="course[]"の、各入力を持つ配列を作成する必要があり

答えて

0

を理解されるであろう。例えば:

HTML:

<form action="data.php" enctype="multipart/form-data" id="form" method="post" name="form"> 
    <table id="dataTable" class="form" border="1"> 
    <tbody> 
     <p> 
     <td > 
      <input type="checkbox" name="chk[]" checked="checked" /> 
     </td> 
     <td> 
      <label for="course">Course</label> 
      <select id="course" name="course[]"> 
      <option></option> 
      <option>Course 1</option> 
      <option>Course 2</option> 
      <option>Course 3</option> 
      <option>Course 4</option> 
      <option>Course 5</option> 
      </select> 
     </td> 
     <td> 
      <label for="year">Year</label> 
      <select id="year" name="year[]"> 
      <option>Select Year</option> 
      <option>2000</option> 
      <option>2001</option> 
      <option>2002</option> 
      </select> 
     </td> 

     <td> 
      <label for="semester">Semester</label> 
      <select id="semester" name="semester[]"> 
      <option>Select Semester</option> 
      <option>1</option> 
      <option>2</option> 
      <option>3</option> 
      </select> 
     </td> 
     </tbody> 
    </table> 
    <p> 
    <input type="button" value="Add Course" onClick="addRow('dataTable')" /> 
    <input type="button" value="Remove Course" onClick="deleteRow('dataTable')" /> 
    <input id="button" name="submit" type="submit" value="Submit Data" /> 

    <p> 

</form> 

JS:同じ。

"data.php"は、多次元配列を受け取ります。あなたはそんなに

Array 
(
    [chk] => Array 
     (
      [0] => on 
      [1] => on 
      [2] => on 
     ) 

    [course] => Array 
     (
      [0] => Course 1 
      [1] => Course 2 
      [2] => Course 3 
     ) 

    [year] => Array 
     (
      [0] => 2000 
      [1] => 2001 
      [2] => 2002 
     ) 

    [semester] => Array 
     (
      [0] => 1 
      [1] => 2 
      [2] => 3 
     ) 

    [submit] => Submit Data 
) 
+0

ありがとう:あなたは3行を埋める場合は、この$_POST配列を取得します

<?php echo '<pre>'; print_r($_POST); echo '</pre>'; ?> 

:あなたはとの結果を見ることができます。それは私を逃した –

+0

あなたが歓迎@SamolinaOneはあなたが投票することができ、それが役に立つと答えを受け入れることを覚えています。 – MarioZ

+0

上記の変数(配列)をFPDFでどのように表示できるかを知りたいと思います。ヘルプをいただければ幸いです。ありがとう。 –

関連する問題