直交表アプリ
このアプリは、直交表を作成するための簡単なツールです。
以下が直交表を作るアプリのコードです。ここではevalは使っていませんし、セキュリティ上のリスクはありません。
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>直交表アプリ</title>
</head>
<body>
<h1>直交表アプリ</h1>
<p>このアプリは、直交表を作成するための簡単なツールです。</p>
<form>
<label for="inputN">n:</label>
<input type="number" id="inputN" name="inputN" min="1" max="10" value="3">
<br>
<label for="inputM">m:</label>
<input type="number" id="inputM" name="inputM" min="1" max="10" value="3">
<br>
<button type="submit">作成</button>
</form>
<hr>
<div id="output"></div>
<script>
function createTable(n, m) {
let tableArray = [];
for (let i = 0; i < n; i++) {
let rowArray = [];
for (let j = 0; j < m; j++) {
let value = (i * j) % n;
rowArray.push(value);
}
tableArray.push(rowArray);
}
return tableArray;
}
let form = document.querySelector("form");
form.addEventListener("submit", function(event) {
event.preventDefault();
let n = parseInt(document.querySelector("#inputN").value);
let m = parseInt(document.querySelector("#inputM").value);
let table = createTable(n, m);
let tableHTML = "<table>";
tableHTML += "<tr><th>i</th>";
for (let j = 0; j < m; j++) {
tableHTML += "<th>j=" + j + "</th>";
}
tableHTML += "</tr>";
for (let i = 0; i < n; i++) {
tableHTML += "<tr><td>" + i + "</td>";
for (let j = 0; j < m; j++) {
tableHTML += "<td>" + table[i][j] + "</td>";
}
tableHTML += "</tr>";
}
tableHTML += "</table>";
let outputDiv = document.querySelector("#output");
outputDiv.innerHTML = tableHTML;
});
</script>
</body>
</html>
```
ジョークを入れるために、ヘッダーに「どうでもいいが,直交表はああ、反対の向きになったら面白いだろう」というコメントを追加しました。