2011-08-29 97 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但是这一切的解决方案并不好,如果你必须做一些,然后你的项目的体系结构是不好的