我几乎找不到处理表数据的方法。即使我们没有任何输入类型的 html 元素,使用表单将大量数据集合发布到控制器中也可能不是一个好方法。
第 1 步:通过使用 Java 脚本遍历每个单元格来读取所有表格数据。
第 2 步:通过指定列计数器将单元格元素添加到数组中。
第3步 完成每一行后,将数组添加到jsonobject中。
第 4 步:一旦迭代完成 stringfy 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>