Javascript 如何在Spring框架中处理表数据表单提交?

Javascript 如何在Spring框架中处理表数据表单提交?,javascript,jquery,html,spring-data,Javascript,Jquery,Html,Spring Data,我正在寻找解决这个问题的好办法 我只想将所有表数据提交到控制器中。行是动态创建的,而且它没有任何元素。对于处理整个表的数据处理,这里有点混乱 <form action="controller.htm" method="post"> <table> <tr> <td>one</td> <td><two/td> <td>three</td> <td>four</td>

我正在寻找解决这个问题的好办法

我只想将所有表数据提交到控制器中。行是动态创建的,而且它没有任何元素。对于处理整个表的数据处理,这里有点混乱

<form action="controller.htm"   method="post">
<table>
<tr>
<td>one</td>
<td><two/td>
<td>three</td>
<td>four</td>
<td>five</td>
</tr>
<td>data11</td>
<td>data4</td>
<td>data5</td>
<td>data6</td>
<td>data 7</td>
</tr>
</table>
</form>

一
三
四
五
数据11
数据4
数据5
数据6
数据7
  • 如何将表值发布到控制器中
  • 如何在控制器内获取值

  • 我几乎找不到处理表数据的方法。即使我们没有任何输入类型的html元素,使用表单将大量数据集合发布到控制器中也可能不是一个好方法

    步骤1:通过使用Java脚本迭代每个单元格来读取所有表数据。
    步骤2:通过指定列计数器将单元格元素添加到数组中。
    步骤3完成每一行后,将数组添加到jsonobject中。
    步骤4:迭代完成后,将json对象字符串化,并使用Ajax将json字符串传递给控制器

    <script type="text/javascript">
    function GetCellValues(dataTable) 
    {
        var jsonObj = [];
        var jsonString;
        var table = document.getElementById(dataTable);
        for (var r = 0, n = table.rows.length; r < n; r++) {
            var item = {};
            for (var c = 0, m = table.rows[r].cells.length; c < m; c++){        
                if(c == 1){
                    item ["data1"] =table.rows[r].cells[c].innerHTML;}
                else if(c==2){
                    item ["data2"] =table.rows[r].cells[c].innerHTML;}
                else if(c==3){
                    item ["data3"] =table.rows[r].cells[c].innerHTML;}
                else if(c==4){
                     item ["data4"] = table.rows[r].cells[c].innerHTML;} 
                else if(c==5){
                    item ["data5"] =table.rows[r].cells[c].innerHTML;}
    
            }
            jsonObj.push(item);
        }
        jsonString = JSON.stringify(jsonObj);
       alert("Save your data "+ jsonString);
    
        $.ajax({
            type: "POST",
            url : "tableData.htm?jsonData="+jsonString,
            success: function(data){
                $("#").html(data);      
            },
            error:function(data){
                console.log("failure"+data);
                alert("failure"+data);
            }
        });  
    }
    </script>
    
    
    函数GetCellValues(数据表)
    {
    var jsonObj=[];
    var-jsonString;
    var table=document.getElementById(数据表);
    for(var r=0,n=table.rows.length;r
    我知道这是一个较老的问题,但我也遇到过类似的情况,所以我的做法略有不同。我希望这对其他人有帮助

    我让javascript解析
    元素的
    ,然后创建一个JSON字符串,存储在一个隐藏的
    字段中

    这是根据另一个堆栈溢出帖子改编的:

    基本代码如下

    完整@JSFiddle:

    //用于保存数据的对象
    函数数据行(值1、值2、值3){
    this.dxCode=value1;
    this.dxDate=value2;
    this.dxType=value3;
    }
    //创建数组以保存数据
    var dataArray=新数组();
    //如果需要跳过标题行,请从2开始
    
    对于(var i=2;我从未尝试过这个,但您可以尝试使用映射。键将是attributename,值将是属性的值。@PhilippSander使用java脚本或jquery是否可能?可能。我真的不知道it@PhilippSander谢谢你们的支持!请查看这个帖子NP@AravindCheekkallur。我只是把它简化了一点ore通过使用javascript将其转换为json。我创建了它,并将其存储在一个隐藏的
    输入中
    ,这样它就会变成
    POST
    @AravindCheekkallur的形式,这正是我在实际代码中所做的。我没有在JSFIDLE中这样做,因为我实际上没有在那里发布任何东西。@AravindCheekkallur,如果是的话一个好的答案,你应该接受它。事实上,你应该检查你之前的问题,并做同样的事情。你没有接受很多答案。
    // object to hold your data
    function dataRow(value1,value2,value3) {
        this.dxCode = value1;
        this.dxDate = value2;
        this.dxType = value3;
    }
    
    // create array to hold your data
    var dataArray = new Array(); 
    
    // Start from 2 if you need to skip a header row
    for(var i = 2; i <= $("table tr").length; i++){
            // create object and push to array
            dataArray.push(    
                new dataRow(
                    $("table tr:nth-child(" + i + ") td").eq(0).html(),
                    $("table tr:nth-child(" + i + ") td").eq(1).html(),
                    $("table tr:nth-child(" + i + ") td").eq(2).html())
            );
    }
    
    
    var sJson = JSON.stringify(dataArray);