使用单元格 ID 为表格中的单元格赋值

Posted

技术标签:

【中文标题】使用单元格 ID 为表格中的单元格赋值【英文标题】:Assign a value to a cell in a table using the cell id 【发布时间】:2013-12-11 14:27:21 【问题描述】:

我需要为 jsp 中表格中的特定单元格分配一个值,并创建了一个 id 为“table1”的表格:

现在使用以下命令为该表中的单元格赋值:

<%@ page import="java.io.*"%>
<html>
<head>
</head>
<body>
<table id="table1" border = "1">

<%
var table = document.getElementById("table1");
table.rows[1].cells[2].innerHTML = "UP";
%>

<tr>
<th></th>
<th>DEV1</th>
<th>DEV2</th>
<th>SIT1</th>
<th>SIT2</th>
<th>UAT</th>
<th>NFT</th>
</tr>

<tr>
<td>SFG Process</td>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
<td>row 1, cell 3</td>
<td>row 1, cell 4</td>
<td>row 1, cell 5</td>
<td>row 1, cell 6</td>
</tr>

<tr>
<td>SCC Process</td>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
<td>row 2, cell 3</td>
<td>row 2, cell 4</td>
<td>row 2, cell 5</td>
<td>row 2, cell 6</td>
</tr>

</table>
</body>
</html>

但是 Tomcat 给出这个错误:

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 9 in the jsp file: /emt/xyz.jsp
var cannot be resolved to a type
6: <table id="table1" border = "1">
7: 
8: <%
9: var table = document.getElementById("table1");
10: table.rows[1].cells[2].innerHTML = "UP";
11: %>
12: 


An error occurred at line: 9 in the jsp file: /emt/xyz.jsp
document cannot be resolved
6: <table id="table1" border = "1">
7: 
8: <%
9: var table = document.getElementById("table1");
10: table.rows[1].cells[2].innerHTML = "UP";
11: %>
12: 


Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:443)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

【问题讨论】:

看来您正在尝试在 scriplet 中使用 JavaScipt。你是否意识到,scriptlet 是在服务器端执行的 Java 代码 sn-ps,而 javascript 是发送到浏览器并由浏览器执行的代码? 我最近开始编码和使用 JavaScript,所以答案是否定的,我不知道。你能指导我做什么吗? @sᴜʀᴇsʜᴀᴛᴛᴀ 我已附上完整代码 【参考方案1】:

尝试使用Javascript来改变innerHTML!

var table = document.getElementById("table1");
table.rows[1].cells[2].innerHTML = "XYZ";

【讨论】:

感谢您的回答,但仍然出现相同的错误。请查看附加的代码和错误 不知道你没有使用 【参考方案2】:
<%
var table = document.getElementById("table1");
table.rows[1].cells[2].innerHTML = "UP";
%>

你是在jsp里面写java脚本代码,所以编译失败。

你只需删除那里的代码并在&lt;script&gt;标签之间添加

<SCRIPT type="text/javascript">
  var table = document.getElementById("table1");
  table.rows[1].cells[2].innerHTML = "UP";
</SCRIPT>

See this link 供完整参考和示例。

【讨论】:

@cherry2891 很高兴为您提供帮助:)

以上是关于使用单元格 ID 为表格中的单元格赋值的主要内容,如果未能解决你的问题,请参考以下文章

Css中控制table单元格的间距

请问jqgrid怎么向合并后的单元格赋值?

jqgrid加载时获得表格中某个单元格的值怎么获取?

如何使用 R 模型为谷歌表格中的单元格供电?

如何使用 Javascript 函数从 id 获取表格单元格中的详细信息

根据 Google 表格中的第一个单元格格式化列中的单元格