2011-08-29 116 views
1

我有一個動態的html表,我想使用POST方法從表中檢索數據。是否有可能做到這一點?你會推薦什麼其他方式來實現這一點。 這裏有一個簡單的例子,從我得到了什麼:從HTML表中檢索數據到PHP

<html> 
     <form id="form1" method="post" action="process.php"> 
     <table id="tblSample" name="tblSample"> 
     <tbody> 
      <tr> 
       <td> 
       John Appleseed 
       </td>  
       <td> 
       Australia 
       </td> 
      </tr> 
      <tr> 
       <td> 
       Mary Poppins 
       </td> 
       <td> 
       USA 
       </td> 
      <tr> 
      </tbody> 
      </table> 
     </form> 
</html> 

也許有可能在JavaScript數組或變量的信息存儲,以便將其發佈到操作文件,我不知道。

我不知道這是否有什麼要做,但表是動態生成的。行和單元格由用戶使用javascript添加。

我非常感謝你的回答。

回答

2

一個表不能因爲這樣,除非您使用的表單元素(inputtextarea訪問,等等)並添加name屬性給他們;那麼,您可以通過$_POST訪問您的元素。

如果您將數據存入表格,檢索我們數據的最佳方法是使用JavaScript,使用innerHTML

+0

國際海事組織,鑑於這兩個選項,它通常結束了更清潔,只是結合表和輸入/ textarea標籤,而不是使用innerHTML(這需要解析數據無論如何都需要HTML)。 – jozzas

0

您可以將表單的innerHTML分配給變量,然後使用AJAX將其作爲字符串發送回服務器,或將其存儲在textarea中並執行相同操作。無論如何,你需要解析字符串來提取數據。

0

表格不是表格控件,即使包含在表格標籤中(如您的示例中),表格也不會作爲表格數據提交。

如果你想提交表格數據,你將需要使用Javascript來提取它。然後,您可以將數據插入隱藏的表單元素,或通過AJAX調用提交數據。

0

你可以嘗試使用:

HTML:

<form id="form1" method="post" action="process.php" onSubmit="submitAction();"> 
    <input type="hidden" name="table_content" id="table_content"/> 
    <input type="submit" name="submit" value="Send"/> 

的JavaScript:

function submitAction() 
{ 
    var form = document.getElementById("form1"); 
    form.table_content.value = document.getElementById("tblSample").innerHTML; 
    return form.submit();  
} 
0

這是解決此問題的多種方法。例如: 1)使用ajax: 將數據放入一些html容器中 - 例如類名爲「formData_name」的span或例如id ='formData _'+ name =,其中name是該數據的名稱。 然後你在JS中搜索所有這些範圍並通過ajax發送。 這很簡單,如果你使用jQuery。在純粹的js中,這並不難,但代碼會更加靈活。

2)把你的數據放在一些html容器中 - 比如類名'formData_name'的span或者id ='formData _'+ name =,其中name是這個數據的名字。 綁定提交按鈕,當用戶點擊提交時,你創建一個添加到DOM輸入隱藏字段與名稱adn返​​回true。 3)您可以通過郵寄通過綁定submit事件,並添加隱藏字段店面的innerHTML和解析它在服務器 4)你可以替換所有TD輸入上提交一份行動

發送的innerHTML但是這一切的解決方案並不好,如果你必須做一些,然後你的項目的體系結構是不好的