2013-07-16 55 views
0

我正在爲我的內聯網創建發票網站。輸出動態表格數據

我有下面的代碼,用於在html中生成一個動態表格行,以產生最多需要發票的行。

function addRow(tableID) { 

     var table = document.getElementById(tableID); 

     var rowCount = table.rows.length; 
     var row = table.insertRow(rowCount); 

     var colCount = table.rows[1].cells.length; 

     for(var i=0; i<colCount; i++) { 

      var newcell = row.insertCell(i); 

      newcell.innerHTML = table.rows[1].cells[i].innerHTML; 
      //alert(newcell.childNodes); 
      switch(newcell.childNodes[0].type) { 
       case "text": 
         newcell.childNodes[0].value = ""; 
         break; 
       case "checkbox": 
         newcell.childNodes[0].checked = false; 
         break; 
       case "select-one": 
         newcell.childNodes[0].selectedIndex = 0; 
         break; 
      } 
     } 
    } 

在通過表格插入數據後,我想通過php echo輸出表格數據。但我無法弄清楚如何輸出動態表中的每一行,因爲現在它只是給了我最後一行。

在下面的時尚我要輸出的數據:

echo $var_name."<br>"; 

現在我有一個表中的每一行的5個變量,但他們只給我最新的行線輸入(邏輯)

+0

什麼是表單元素的HTML名字? – Barmar

回答

1

您需要提供以[]結尾的表單字段名稱。提交表單時,PHP將把名稱爲name[]的所有字段組合到$_POST['name']的數組中。然後,您可以遍歷這些數組以獲取表單的所有行。

的形式應該是這個樣子:

<form method="post" action="your URL"> 
    <table> 
    <tr><td><input type="text" name="somename[]"></td> 
     <td><select name="somemenu[]"> 
       <option value="">Please choose</option> 
       <option value="1">Option 1</option> 
       <option value="2">Option 2</option> 
       ... 
      </select></td> 
    </tr> 
    </table> 
</form> 

那麼你的PHP可以這樣做:

foreach (array_keys($_POST['somename']) as $key) { 
    // Do something with $_POST['somename'][$key] and $_POST['somemenu'][$key] 
} 
+0

這是在javascript中添加新行或在行中的html時完成的?你能用一個例子javascript發佈一個示例表單嗎? –

+0

添加了一個簡單的例子。根本不需要改變JS。 – Barmar