我正在为课堂做作业,我觉得我可能只是有一种简单的语法错误。我试图在我的JS中创建的表格根本没有显示在名为result的HTML div中。
https://imgur.com/a/fawJT(这是一个带有作业指示的示例输出)
http://imgur.com/a/Khh0h(我的代码在我们的作业界面中运行,按下计算所有输入消失,div结果仍为空)
JS
{{1}}
HTML
{{1}}
答案 0 :(得分:0)
我认为问题是,例如,当您调用document.getElementById('population')
时,您从未设置名称为id
的输入的population
。尝试改变它:
Current Population: <input type="text" value="<? print $_POST['population']; ?>" name="population" id="population"> <br/> <br/>
答案 1 :(得分:0)
我认为您可能希望直接使用html元素而不是动态构建字符串表。你可以通过事先定义表格元素然后从那里操纵它来做到这一点 - 它只是更清洁。
HTML
<table id='calTable'>
<tr>
<th><strong>Year</strong></th>
<th><strong>Population</strong></th>
<th><strong>Change</strong></th>
</tr>
</table>
的Javascript
function calculate() {
var years = document.getElementById('years');
var population = parseInt(document.getElementById('population').value);
var rate = parseInt(documet.getElementById('rate').value);
var currentYear = 2017;
for (var i = currentYear; i < (currentYear+years); i++) {
var change = (population*rate)/100;
population += change;
AppendTableCell(i, population, change);
}
}
function AppendTableCell(num, population, change)
{
var row = document.getElementById("calTable").insertRow(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = num;
cell2.innerHTML = population.toFixed();
cell3.innerHTML = change.toFixed();
}
答案 2 :(得分:0)
您最初的问题是您从未运行link_events();在主HTML中,因此onclick事件永远不会分配给按钮。
在你的
下sqlite> CREATE TABLE test (a INTEGER AUTOINCREMENT NOT NULL, b INTEGER);
Error: near "AUTOINCREMENT": syntax error
添加
<div id="result"> </div>
或直接将其添加到按钮。
替换此行
<script>
link_events();
</Script>
与
<div id="button"> <input type="submit" value="Calculate" id="calculate"> </div>
希望这有助于您进一步调试。