在POST中将html表作为csv提交


Submit html table as csv in POST

我有一个可编辑的HTML表,我想将整个表作为一个csv变量提交到PHP页面。然后PHP页面将解析csv并在后台执行它的操作。我不想在每个表单元格中使用一个输入,因为我的一些表很大,而且我会很快因POST超过1000个变量而被截断。但是表的csv并不太大,我很容易在后台解析。

所以我正在寻找一个包或方法,将采取这样的表

<table id="thetable">
    <tr>
        <td>cellA</td>
        <td>cellB</td>
    </tr>
    <tr>
        <td>cellC</td>
        <td>cellD</td>
    </tr>
</table>

并将其作为变量通过POST提交,其中服务器端的结果变量将类似于

cellA,cellB'n
cellC,cellD

看看小提琴。

实现基本上是列和行上的这些map函数。您可以使用exportTableToCSV函数来获得所需的字符串,只需删除下载部分。

我的第一个想法是遍历表的<tr>,然后在该循环中,遍历<td>值。如果你只是在获取里面的价值,你可以使用.html()

我还没有测试过,所以可能需要稍微修改一下。

假设你给你的表一个数据表的id

var data = [];
$('#data-table tr').each(function() {
  $('td', $(this)).each(function() {
     data.push($(this).html());
  });
});

然后用逗号分隔符连接数组。