Javascript 从HTML表检索数据到PHP
我有一个动态html表,我想使用POST方法从该表中检索数据。有可能这样做吗?你会推荐什么其他方法来实现这一点。 以下是我得到的一个简单示例:Javascript 从HTML表检索数据到PHP,javascript,php,html-table,Javascript,Php,Html Table,我有一个动态html表,我想使用POST方法从该表中检索数据。有可能这样做吗?你会推荐什么其他方法来实现这一点。 以下是我得到的一个简单示例: <html> <form id="form1" method="post" action="process.php"> <table id="tblSample" name="tblSample"> <tbody> <tr>
<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添加
我非常感谢您的回答。您可以将表单的
innerHTML
分配给一个变量,并使用AJAX将其作为字符串发布回服务器,或者将其存储在文本区域
中并执行同样的操作。无论如何,您需要解析字符串以提取数据。表不是表单控件,即使包含在表单标记中,也不会作为表单数据提交(如示例所示)
如果您希望提交表格数据,则需要使用Javascript来提取它。然后,您可以将数据插入隐藏表单元素,或通过AJAX调用提交数据。您可以尝试使用:
HTML:
除非您使用表单元素(
input
,textarea
,等等)并向其添加name
属性,否则无法访问这样的表;然后,您可以使用$\u POST
访问元素
如果您的数据在表中,那么检索数据的最佳方法是使用JavaScript,使用
innerHTML
这是解决此问题的多种方法。例如:
1) 使用ajax:
将您的数据放在一些html容器中,比如类名称为“formData\u name”的span,或者id为“formData\u”+name=的span,其中name是该数据的名称。
然后,您可以在JS中搜索所有跨度,并通过ajax发送。
如果使用jquery,这非常简单。在纯js中,这并不难,但代码会更大
2) 将您的数据放在一些html容器中,比如类名称为“formData\u name”的span,或者id为“formData\u”+name=的span,其中name是该数据的名称。
绑定提交按钮,当用户单击提交时,您将创建一个名为adn return true的添加到dom输入隐藏字段。
3) 您可以通过绑定提交事件通过post发送innerHTML,并为StoreInnerHTML添加隐藏字段,然后在服务器上解析它
4) 您可以在提交操作时替换所有要输入的td
但是所有这些解决方案都不好,如果您必须做一些,那么您的项目架构就不好了IMO,考虑到这两个选项,只需将表和输入/文本区域标记组合起来,而不是使用innerHTML(这需要从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"/>
function submitAction()
{
var form = document.getElementById("form1");
form.table_content.value = document.getElementById("tblSample").innerHTML;
return form.submit();
}