在标签内输入标签内的输入?

时间:2014-10-08 17:57:12

标签: javascript jquery html-table

我知道这已经发生了很多次,我已经搜遍了堆栈溢出。我创建了一个有效的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>

1 个答案:

答案 0 :(得分:2)

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

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