
LBJ236と申します。
現在、計算問題のページを作成しているのですが、form内に入力した解答とランダムな6つの数値の合計との比較(合っているのか)が出来なく、手詰まりになってしまっています。
私なりにソースコードを書いたので見て頂けると幸いです。
<body>
<p class = "main_p1">
<span id="t1">0</span>+<span id="t2">0</span>+
<span id="t3">0</span>+<span id="t4">0</span>+
<span id="t5">0</span>+<span id="t6">0</span>=
</p>
<p class = "main_p2"><input id="b1" type="button" value="start" onclick="cb1()">
<input id="input">
<span id="message">
<script>
input.addEventListener('keydown', (e) => {
if(e.key === 'Enter') {
document.getElementById("t1").textContent=(Random(1, 9));
document.getElementById("t2").textContent=(Random(1, 9));
document.getElementById("t3").textContent=(Random(1, 9));
document.getElementById("t4").textContent=(Random(1, 9));
document.getElementById("t5").textContent=(Random(1, 9));
document.getElementById("t6").textContent=(Random(1, 9));
//var input = document.getElementById("input").value;
//var a = parseInt(input, 10);
//var result = document.getElementById("result");
//result.value = a;
input.value = "";
}
})
</script>
</body>
よろしければ上記の内容で製作する方法を教えていただけませんでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
ユーザーの動きがよく分からなかったのですが、
1.「start」ボタンを押す
2.ランダムな6個の数字(1以上9以下)が決まる
3.入力欄に、6個の和を入力する
4.Enterキーを押すか、「比較」ボタンを押す
5.比較結果のメッセージが表示される
というものと仮定して、作ってみました。
間違っていたらすみません。
<body>
<p class="main_p1">
<span id="t1">0</span>+<span id="t2">0</span>+
<span id="t3">0</span>+<span id="t4">0</span>+
<span id="t5">0</span>+<span id="t6">0</span>=
</p>
<p class="main_p2">
<input id="b1" type="button" value="start" onclick="cb1()">
</p>
<p class="main_p2">
<input id="input" type="text" />
<input id="b2" type="button" value="比較" onclick="compare()">
</p>
<p id="message"></p>
<script>
let n1,n2,n3,n4,n5,n6;
let result = 0;
let message = document.getElementById('message');
let input = document.getElementById('input');
input.addEventListener('keydown', (e) => {
if (e.key === 'Enter') {compare();}
});
function cb1() {
n1 = Math.floor(Math.random() * 9) + 1;
n2 = Math.floor(Math.random() * 9) + 1;
n3 = Math.floor(Math.random() * 9) + 1;
n4 = Math.floor(Math.random() * 9) + 1;
n5 = Math.floor(Math.random() * 9) + 1;
n6 = Math.floor(Math.random() * 9) + 1;
result = n1 + n2 + n3 + n4 + n5 + n6;
document.getElementById("t1").textContent = n1;
document.getElementById("t2").textContent = n2;
document.getElementById("t3").textContent = n3;
document.getElementById("t4").textContent = n4;
document.getElementById("t5").textContent = n5;
document.getElementById("t6").textContent = n6;
}
function compare(){
if (result === parseInt(input.value)) {
message.textContent = '合っています!';
} else if (result < parseInt(input.value)) {
message.textContent = 'もっと小さいです!';
} else if (result > parseInt(input.value)) {
message.textContent = 'もっと大きいです!';
}else{
message.textContent = '比較できません!';
}
}
</script>
</body>
拙い説明文の中で意図を汲み取っていただいてありがとうございます。
今の目標は、sukitaroさんに作っていただいた機能にエンターを押すことで再度ランダムの数字を表示し、一問目同様に正解か不正解を表示するというものです。
凄い雑な文章からここまでのものを作っていただいて本当にありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
onClickがinput type="image"だ...
-
クリックさせたいが、click()が...
-
セレクトメニューの選択によっ...
-
【javascript】ボタンクリック...
-
受け取ったパラメータが文字化け
-
JavaScriptのfileオブジェクト...
-
return trueとreturn falseの用...
-
<input>の選択肢をプルダウンメ...
-
特定<table>内の<td>の色を変える
-
selectを変更不可にしたい
-
ラジオボタンが選択されたらテ...
-
プルダウンで選択すると、DBの...
-
onclickをEnterキーでも行いたい
-
チェックボックスのON/OFFでVal...
-
【javascript・PHP】プルダウン...
-
チェックボックス付きのテーブ...
-
データベースからのarray を j...
-
slickのレスポンシブ > center...
-
jsで質問です。 ボタンが二つ存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
JavaScriptのfileオブジェクト...
-
javaScriptの変数をJavaの変数...
-
VB.NETで<Input>タグ、<text...
-
onclickが動作しない
-
formのfileの値をhiddenでも持...
-
追加ボタンを押した際に ok ボ...
-
クリックさせたいが、click()が...
-
onClickがinput type="image"だ...
-
BackSpaceしたい(QNo.2734284の...
-
同じページでgetElementsを複...
-
Javascriptでフィールドを埋め...
-
困っています。
-
「ボタン」の幅の長さ
-
JavaScriptのロジック?
-
<input type="file"/>
-
CHECKBOXとTEXTBOXのnameが同じ...
-
vbscriptでIE自動入力(コンボ...
-
setIntervalについて
-
JQueryでfunctionに引数としてI...
おすすめ情報
エンターを押すことで60回ほどランダムの数字を表示し、一問目同様に正解か不正解を表示するというものです。