js获得子节点, 获得tab转json值
//提取表格的值,JSON格式 function GetTableData(table) { var tableData = new Array(); //创建数组 alert("行数:" + table.rows.length); //弹出总行数 for (var i = 1; i < table.rows.length; i++) { //遍历每行 tableData.push(GetRowData(table.rows[i])); //传递每行, } return tableData; } //获得该节点下Input的值 function getchildNode(node) { var nodes = node.childNodes; for (var i = 0; i < nodes.length; i++) { //nodeName: "INPUT" if (nodes[i].nodeName == "INPUT") { return nodes[i].value; } } return null; } //提取指定行的数据,JSON格式 function GetRowData(row) { var rowData = {}; //创建一个空对象 for (var j = 0; j < row.cells.length; j++) { //遍历该行的所有单元格 if (j == 1 || j == 5) { //第2列和第6列 var key = "key" + j; var node = row.cells[j]; var value = getchildNode(node); if (value == null) { value= node.innerHTML; } rowData[key] = value; //为对象添加属性和添加值 } } return rowData; //返回该对象 }
var table = document.getElementById("table1");
var t1 = GetTableData(table);
var newstr = JSON.stringify(t1); //返回一个新字符串
//验证数据是否有误 function check_table(table) { for (var i = 1; i < table.rows.length; i++) { //遍历每行 if (!check_table_cells(table.rows[i])) { layer.msg("SAP申请开票金额不对!"); break; } } } function check_table_cells(row) { if (Number(row.cells[5].innerHTML) > Number(row.cells[4].innerHTML)) { return false; } return true; }