我有一个动态的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添加行和单元格。
我非常感谢你的答案。
答案 0 :(得分:2)
除非您使用表单元素(input
,textarea
等)并向其添加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替换为提交操作的输入
但是所有这些解决方案都不好,如果你必须做一些,那么你的项目架构就不好了