使用Javascript runat =“server”解析的数据向html表添加行

时间:2012-05-23 19:23:06

标签: javascript html dom html-table

我在这里遇到一些问题。 我有一个<script language ="JavaScript" runat="server">代码从网站读取一个表,解析数据并将其存储在二维数组中。它工作正常;我可以使用Response.Write显示数据。

现在,我想使用数组中的数据构建自己的表并在浏览器中显示它。我想我只想补充一下:

</head> 
<body onload="tableCreator();">
<table id="table" border="1">
    <tr> 
    <td id="Document Number">Document Number</td>
    <td id="Document Link">Document Link</td>
    <td id="Date Filed">Date Filed</td>
    <td id="Date Entered">Date Entered</td>
    <td id="Date Terminated">Date Terminated</td>
    <td id="Description">Description</td>
    </tr>
</table> 
<body> 
</html>
脚本结束后

,但问题就出现了。我不知道在哪里插入tableCreator()函数。如果我在(script language =“JavaScript”runat =“server”)代码中执行此操作(为了能够使用数组的数据),则不会调用该函数。当我将标签更改为(script language =“JavaScript”)(没有runat =“server”)时,调用该函数,但是脚本没有运行(我有多个Response.Write,什么也没有,但表,是正在印刷)

function tableCreator () {
  var table = document.getElementById("table");
  var rowCount = table.rows.length;
  var row;
  row = table.insertRow(rowCount);
  var cell1 = row.insertCell(0);
  cell1.innerHTML = "1";
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您在混淆服务器端代码和客户端代码。

JavaScript无法访问在服务器上创建的二维数组(向runat="server"添加script标记将无法访问您的服务器端变量。您需要使用服务器端语言序列化数组,然后使客户端可以访问它(隐藏字段可以很好地用于此)。

或者,如果您有数据服务器端,为什么要创建表客户端。只需在页面加载时创建表服务器端。