javaループでテーブルを作成しようとしていますが、うまくいきます。 しかし、私は入力を読み込む際に別のエラーがありました。数字を入力してボタンを押すと、数値から情報を読み取るはずですが、h2部分では "null"、セル内部では "0"になります。私は入力から数値を読み取ることができないので、このコードはnullを生成すると思います。だから私はここで何が問題なのか知りたい。Javascriptで入力を読み取る際にエラーが発生する
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Multiplication table</title>
<link rel="stylesheet" href="styles.css" />
<script src="Generate.js"></script>
</head>
<body>
<header>
<h1>Multiplication Table</h1>
</header>
<article>
<form>
<fieldset>
Enter a number: <input type="number" id="number" />
</fieldset>
<fieldset>
<button type="button" id="button">Generate Times Table</button>
</fieldset>
</form>
<center>
<h2 id="name"></h2>
<div id="results">
<script>
var submitButton = document.getElementById("button");
if (submitButton.addEventListener) {
submitButton.addEventListener("click", generatetable, false);
window.addEventListener("load", function() {
document.getElementById('number').innerHTML = "";
}, false);
}
else if (submitButton.attachEvent) {
submitButton.attachEvent("onclick", generatetable);
window.attachEvent("onload", function() {
document.getElementById('number').innerHTML = "";
});
}
</script>
</div>
</center>
</article>
</body>
</html>
、ここで私のGenerate.js
var input = document.getElementById("number");
var table = document.createElement('table'), tr, td, row, cell;
var times = 0;
function generatetable() {
document.getElementById("name").innerHTML = input + " Times Table";
for (row = 0; row < 10; row++) {
tr = document.createElement('tr');
for (cell = 1; cell <= 3; cell++) {
times++;
var result = input * times;
td = document.createElement('td');
tr.appendChild(td);
td.innerHTML = result;
}
table.appendChild(tr);
}
document.getElementById('results').appendChild(table);
}
ジャワたその初期値、で滞在しますまたはJavascript?タイトルを変更! – TricksfortheWeb
実際には、タイトルから削除してください。タグはタグリストに属し、タイトルには属しません。 – Xufox
@TricksfortheWebおっと! ty – Momo