【问题标题】:Add rows to html table using data parsed by Javascript runat="server"使用 Javascript runat="server" 解析的数据向 html 表添加行
【发布时间】:2012-05-30 09:19:23
【问题描述】:

我在这里遇到了一个小问题。 我有一个<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()function。如果我在 (script language ="JavaScript" runat="server") 代码中执行此操作(以便能够使用数组的数据),则不会调用该函数。当我将标签更改为 (script language ="JavaScript") (no 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";
}

有什么想法吗?

【问题讨论】:

  • 您使用的是 ASP.NET 吗?听起来您正在将服务器端代码与客户端混合在一起
  • 看起来像。我是新手 :( 我应该使用什么方法来完成我想要的,即从网站解析表格,存储数据并使用数据创建表格?

标签: javascript html dom html-table


【解决方案1】:

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

JavaScript 无法访问在服务器上创建的二维数组(将 runat="server" 添加到您的 script 标记不会让您访问服务器端变量)。您需要以服务器端语言序列化该数组,然后使其可供客户端访问(隐藏字段对此很有效)。

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

【讨论】:

  • 问题是,不需要服务器-客户端通信。这只是为了完成一项简单的任务,即解析、收集并在新表中显示给定网站表中的数据。
  • @Krzysiek,二维数组在哪里创建?在服务器上还是在客户端上?
  • 如何创建这样的表?我糊涂了。对不起...服务器
  • 您的服务器端语言是什么? C# 还是 VB?
  • @Krzysiek,JavaScript 是一种客户端语言。看来你是这个编程东西的新手。如果是这种情况,您应该完全避免使用二维数组。二维数组在哪里创建?你能发布创建它的代码吗?
猜你喜欢
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
  • 2015-07-15
  • 2016-05-04
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多