将一个html表转换为json对象并将其发送到php页面,该表有一个输入字段

Converting a html table into a json object and sending it to a php page ,the table has a input field

本文关键字:php 页面 输入 字段 有一个 对象 一个 html json 转换      更新时间:2023-09-26

我有一个HTML表,它是由获取数据库数据的php代码动态创建的。表的最后一个字段是用于输入数字的输入字段。表中的数据必须发送到另一个 PHP 页面以进行 SQL 插入。我是XML和Ajax的新手,请帮助我完成上述JavaScript代码。

<script>
$(document).ready("enter").click(function(event){
    event.preventDefault();
    var elementTable = document.getElementById("form_table");
    var jObject = [];
    for (var i = 0; i < elementTable.rows.length; i++)
    {
        jObject[i] = [];
        jObject[i][0] = elementTable.rows[i].cells[1].innerHTML;
        jObject[i][1] = elementTable.rows[i].cells[2].innerHTML;//data from input field
    }
    console.log(jObject);
    var JSONObject = encodeURIComponent(
        JSON.stringify(jObject));//GETTING ERROR HERE
    var url = "submit.php";
    var requestData = "&dtable=" + JSONObject;
    var XMLHttpRequestObj = FileResort.Utils.createRequest();
    XMLHttpRequestObj.open("POST", url, true);
    XMLHttpRequestObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XMLHttpRequestObj.send(requestData);
});
</script>

只要你使用的是JQuery,就改编这个jsfiddle示例

$("button").click(function(event){
    event.preventDefault();
    var tableArray = [];
    $("table tbody tr:has(td)").each(function(index,element){
        tableArray.push([
            $(this).find("td:eq(1)").html(),
            $(this).find("td:eq(2)").html()
            ]);
    });
    console.log(tableArray);
    $("div").text(encodeURIComponent(
        JSON.stringify(tableArray)
    ));
    return false;
});

这主要是您想要的表序列化减去 ajax 调用(我认为应该是 POST,但这是我个人的意见)