我的问题最终将与此网站相关:
http://dbtest.net16.net/ethanol-01.html
编辑:在此处查看未加密的页面源>> http://dbtest.net16.net/ethanol-22.html
这是一个 HTML 表单,其结果是使用 JavaScript 计算的。我的目标是显示一个包含 2-6 列和可变行数的表格,具体取决于用户输入(表单将被修改)。我的问题是,我不完全理解如何在用户单击“计算”按钮后在 JavaScript 中创建表。我找到了一些潜在的好的答案,但显然没有完全理解这一切。运行以下代码有点像我希望输出显示的内容。
<html>
<!-- http://www.java2s.com/Tutorial/JavaScript/0220__Array/OutputarrayelementinaHTMLtableformat.htm -->
<head>
<title>Table of Numbers</title>
</head>
<body>
<h1>Table of Numbers</h1>
<table border="0">
<script language="javascript" type="text/javascript">
<!--
var myArray = new Array();
myArray[0] = 1;
myArray[1] = 2.218;
myArray[2] = 33;
myArray[3] = 114.94;
myArray[4] = 5;
myArray[5] = 33;
myArray[6] = 114.980;
myArray[7] = 5;
document.write("<tr><td style='width: 100px; color: red;'>Col Head 1</td>");
document.write("<td style='width: 100px; color: red; text-align: right;'>Col Head 2</td>");
document.write("<td style='width: 100px; color: red; text-align: right;'>Col Head 3</td></tr>");
document.write("<tr><td style='width: 100px;'>---------------</td>");
document.write("<td style='width: 100px; text-align: right;'>---------------</td>");
document.write("<td style='width: 100px; text-align: right;'>---------------</td></tr>");
for (var i = 0; i < 8; i++) {
document.write("<tr><td style='width: 100px;'>Number " + i + " is:</td>");
myArray[i] = myArray[i].toFixed(3);
document.write("<td style='width: 100px; text-align: right;'>" + myArray[i] + "</td>");
document.write("<td style='width: 100px; text-align: right;'>" + myArray[i] + "</td></tr>");
}
//-->
</script>
</table>
</body>
</html>
如果我可以使用实际的 javascript 文件创建测试表并用测试数据填充,那么我应该能够自己计算其余部分(我认为)。
以下是迄今为止我能找到的一些最佳答案:
http://jsfiddle.net/drewnoakes/YAXDZ/
上面的链接起源于 stackoverflow,但我现在似乎找不到原始帖子。
http://www.java2s.com/Tutorial/JavaScript/0220__Array/OutputarrayelementinaHTMLtableformat.htm
感谢任何帮助。由于我的经验有限,越简单越好。
最佳答案
问题是,如果你尝试写 <table>
或<tr>
或<td>
每次插入新标签时,浏览器都会尝试关闭它,因为它会认为代码有错误。
不要逐行编写表格,而是将表格连接到变量中并在创建后将其插入:
<script language="javascript" type="text/javascript">
<!--
var myArray = new Array();
myArray[0] = 1;
myArray[1] = 2.218;
myArray[2] = 33;
myArray[3] = 114.94;
myArray[4] = 5;
myArray[5] = 33;
myArray[6] = 114.980;
myArray[7] = 5;
var myTable= "<table><tr><td style='width: 100px; color: red;'>Col Head 1</td>";
myTable+= "<td style='width: 100px; color: red; text-align: right;'>Col Head 2</td>";
myTable+="<td style='width: 100px; color: red; text-align: right;'>Col Head 3</td></tr>";
myTable+="<tr><td style='width: 100px; '>---------------</td>";
myTable+="<td style='width: 100px; text-align: right;'>---------------</td>";
myTable+="<td style='width: 100px; text-align: right;'>---------------</td></tr>";
for (var i=0; i<8; i++) {
myTable+="<tr><td style='width: 100px;'>Number " + i + " is:</td>";
myArray[i] = myArray[i].toFixed(3);
myTable+="<td style='width: 100px; text-align: right;'>" + myArray[i] + "</td>";
myTable+="<td style='width: 100px; text-align: right;'>" + myArray[i] + "</td></tr>";
}
myTable+="</table>";
document.write( myTable);
//-->
</script>
如果您的代码位于外部 JS 文件中,请在 HTML 中创建一个带有 ID 的元素,您希望在其中显示表格:
<div id="tablePrint"> </div>
并在 JS 中代替 document.write(myTable)
使用以下代码:
document.getElementById('tablePrint').innerHTML = myTable;
关于javascript - 使用 Javascript 创建 HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16126357/