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

时间:2015-03-16 14:33:04

标签: javascript ajax

我有一个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>

1 个答案:

答案 0 :(得分:0)

只要您使用JQuery,请调整this jsfiddle example

$("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 ,但这是我的个人意见)