获取内部输入<tr>在tbody中标记

Getting Input inside <tr> tag within a tbody?

本文关键字:tbody tr 内部 输入 lt 获取 gt      更新时间:2023-09-26

我知道这种情况已经出现过很多次了,我已经搜索了所有的堆栈溢出。我创建了一个可工作的Javascript函数来获取表的每一行中的<input>标记值。

然而,当我包含<tbody>标记(这是行排序所必需的)时,Javascript代码将不起作用,我不知道为什么?

请参阅下面的代码:

function writeXML() {
    var table = document.getElementById('table_assoc');
    alert(table);
    var rCount = document.getElementById('tbody_id').rows.length;
    alert(rCount);
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var FILENAME = "c:/XML.xml";
    var file = fso.CreateTextFile(FILENAME, true);
    file.WriteLine('<?xml version="1.0" encoding="utf-8"?>'n');
    file.WriteLine('<Seating_Plan>'n');
    for (var i = 1; i < rCount; i++) {
        var id = table.rows[i].cells[0].children[0].value; <-- Cant Find Table reference when <tbody> tag included.
        var deptcode = table.rows[i].cells[1].children[0].value;
        var name = table.rows[i].cells[2].children[0].value;
        var role = table.rows[i].cells[3].children[0].value;
        var desc = table.rows[i].cells[4].children[0].value;
        var image = table.rows[i].cells[5].children[0].value;
        var asdir = table.rows[i].cells[6].children[0].value;
        file.WriteLine('<Person id="' + id + '"><Dept>' + deptcode + '</Dept><Name>' + name + '</Name><Description>' + desc + '</Description><Role>' + role + '</Role><Image><image href="' + image + '"/></Image><AssociateDir><AssociateDir href="' + asdir + '"/></AssociateDir></Person>');
    }
    file.WriteLine('</Seating_Plan>');
    file.Close();
}

在包含tbody标记时,如何使其工作?

=================================================

更新:

HTML:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="Admin_Javascript.js"></script>
</head>
<body>
<div id="Header_Logo" ></div>
<div id="Header_Logo2">BMW UK</div>
<div id="Admin_Header">BMW LAYOUT EDITOR</div>
<div id="Admin_Nav">
<a id="btn_xml" class="Admin_Nav_Buttons">XML</a>
<a class="Admin_Nav_Buttons">Layout</a>
</div>
<div id="Admin_XML">
  <div id="XML_Buttons2">LOAD</div>
  <div id="XML_Buttons" onClick="writeXML()">SAVE</div>
  <span>&nbsp;</span>
  <p class="Admin_headers">Departments</p>
  <div id="Admin_Dept_Container"></div>
  <p class="Admin_headers">Associates</p>
  <div id="Admin_Associate_Container">
  <table id="table_assoc">
    <tbody id="tbody_id" >
    <tr><td><input value="ID"></td></tr>
    <tr><td><input value="deptcode"></td></tr>
    <tr><td><input value="name"></td></tr>
    <tr><td><input value="role"></td></tr>
    </tbody>
    </table>
</div>
</div>
</body>
</html>

还有一个tBodies的集合,你可以通过它的索引得到:

var id = table.tBodies[0].rows[i].cells[0].children[0].value;