将数据从HTML表检索到PHP

时间:2011-08-29 20:05:06

标签: javascript php html-table

我有一个动态的html表,我想使用POST方法从该表中检索数据。是否有可能做到这一点?您还有什么其他方式可以实现这一目标。 这是我得到的一个简单例子:

<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添加行和单元格。

我非常感谢你的答案。

5 个答案:

答案 0 :(得分:2)

除非您使用表单元素(inputtextarea等)并向其添加name属性,否则无法像这样访问表格;然后,您可以使用$_POST访问您的元素。

如果您在表格中包含数据,则使用innerHTML通过JavaScript检索数据的最佳方式。

答案 1 :(得分:0)

您可以将表单的innerHTML分配给变量,并使用AJAX将其作为字符串发布回服务器,或者将其存储在textarea中并执行相同的操作。无论如何,您需要解析字符串以提取数据。

答案 2 :(得分:0)

表格不是表单控件,即使包含在表单标记中,也不会作为表单数据提交(如示例所示)。

如果您希望提交表格数据,则需要使用Javascript来提取它。然后,您可以将数据插入隐藏的表单元素,或通过AJAX调用提交数据。

答案 3 :(得分: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();    
}

答案 4 :(得分:0)

这是解决此问题的多种方法。例如: 1)使用ajax:    将您的数据放在某个html容器中 - 例如,类名为“formData_name”的span或者id ='formData _'+ name =其中name是此数据的名称。   然后你在JS搜索所有这个跨度并由ajax发送。   如果你使用jquery,这非常简单。在纯粹的js中,这并不难,但代码将是biger。

2)将您的数据放在某个html容器中 - 例如带有类名“formData_name”的span或者带有id ='formData _'+ name =其中name是此数据的名称。   绑定提交按钮,当用户单击提交时,您创建一个添加到dom输入隐藏字段,名称为adn,返回true。 3)您可以通过绑定提交事件发送innerHTML,并为商店innerHTML添加隐藏字段并在服务器上解析它 4)您可以将所有td替换为提交操作的输入

但是所有这些解决方案都不好,如果你必须做一些,那么你的项目架构就不好了