Javascript 将HTML表的表单输入字段转换为JSON
我目前正在学习javascript,作为练习者,我正在尝试将HTML表单表转换为JSON,通过通信接口发送并添加到另一个页面 我目前可以通过使用以下代码遍历表来解析大多数字段的内容Javascript 将HTML表的表单输入字段转换为JSON,javascript,html,forms,html-table,innerhtml,Javascript,Html,Forms,Html Table,Innerhtml,我目前正在学习javascript,作为练习者,我正在尝试将HTML表单表转换为JSON,通过通信接口发送并添加到另一个页面 我目前可以通过使用以下代码遍历表来解析大多数字段的内容 function tableToJson(table) { var data = []; var headers = []; for(var i=0; i<table.rows[0].cells.length; i++) { headers[i] = table
function tableToJson(table)
{
var data = [];
var headers = [];
for(var i=0; i<table.rows[0].cells.length; i++)
{
headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase();
}
for(var i=1; i<table.rows.length; i++)
{
var tableRow = table.rows[i];
var rowData = {};
for(var j=0; j<tableRow.cells.length; j++)
{
rowData[ headers[j] ] = tableRow.cells[j].innerHTML;
}
data.push(rowData);
}
return JSON.stringify(data);
}
var tables = document.getElementsByTagName("table");
if(tables.length > 0)
{
var json = tableToJson(tables[0]);
console.log(json);
/* Send part bellow */
}
函数tableToJson(表)
{
var数据=[];
var头=[];
对于(var i=0;i我已经能够通过解析innerHTML字符串来获取预填充值,以检索“name”属性值,并向DOM请求相关值
var name = tableRow.cells[j].innerHTML.replace(/.*name="([^"]+)".*$/g, "$1");
rowData[headers[j]] = document.getElementsByName(name)[0].value;
我仍然反对任何其他解决方案,我觉得这根本不是最好的解决方案
var name = tableRow.cells[j].innerHTML.replace(/.*name="([^"]+)".*$/g, "$1");
rowData[headers[j]] = document.getElementsByName(name)[0].value;