前提・実現したいこと
html,js初心者です。申し訳ございません。よろしくお願いいたします。
乱数の範囲を設定した後、実行ボタンを押すとチェックボックス付きのものが表示されます
指定された範囲において乱数的に取得した変数a,b,c,dの組み合わせを一定数for文で画面に表示し、
それぞれにチェックボックスを設定、
チェックされた変数a,b,c,dの値を取得し、それのみ表示するボタン
の機能を実現したいです。
発生している問題・エラーメッセージ
js内で動的に作成されたチェックボックスのidやvalueにa,b,c,dを設定する方法がよくわからない。
チェックボックスから変数をを取得する方法がよくわからない。
エラーメッセージ
該当のソースコード
html
1<!DOCTYPE html> 2<html lang="ja"> 3<html> 4 5<head> 6 <meta charset="utf-8"> 7 <title>expand1-test</title> 8 expand1-test<br> 9 (ax+b)(cy+d)=acxy+adx+bcy+bd<br> 10 11</head> 12 13<body> 14 a,cの範囲 : <span id="span1">lmin </span> ≦a(c)≦ <span id="span2">lmax</span><br> 15 lmin=<input type="number" id="lmin" value="1" /> 16 <input type="button" value="確定" onclick="disp1()" /> 17 <br> 18 lmax=<input type="number" id="lmax" value="1" /> 19 <input type="button" value="確定" onclick="disp2()" /> 20 <br> 21 b,dの範囲 : <span id="span3">nmin </span> ≦b(d)≦ <span id="span4">nmax</span><br> 22 nmin=<input type="number" id="nmin" value="-10" /> 23 <input type="button" value="確定" onclick="disp3()" /> 24 <br> 25 nmax=<input type="number" id="nmax" value="10" /> 26 <input type="button" value="確定" onclick="disp4()" /> 27 <br> 28 問題数指定: <span id="span5">_</span>問<br> 29 問題数=<input type="number" id="m" value="10" /> 30 <input type="button" value="確定" onclick="disp5()" /> 31 <br> 32 <div> 33 <button type="submit" onclick="conf()">実行</button> 34 <br> 35 <!--<button type="button" onclick="history.back()">戻る</button>=--> 36 </div> 37 38 <script>//表示 39 function disp1() { 40 const lmin = document.getElementById("lmin"); 41 document.getElementById("span1").textContent = lmin.value; 42 } 43 function disp2() { 44 const lmax = document.getElementById("lmax"); 45 document.getElementById("span2").textContent = lmax.value; 46 } 47 function disp3() { 48 const nmin = document.getElementById("nmin"); 49 document.getElementById("span3").textContent = nmin.value; 50 } 51 function disp4() { 52 const nmax = document.getElementById("nmax"); 53 document.getElementById("span4").textContent = nmax.value; 54 } 55 function disp5() { 56 const nmax = document.getElementById("m"); 57 document.getElementById("span5").textContent = m.value; 58 } 59 </script> 60 61 <script>//定義・実行 62 function conf() { 63 var lmin = document.getElementById("lmin"); 64 var lmax = document.getElementById("lmax"); 65 var nmin = document.getElementById("nmin"); 66 var nmax = document.getElementById("nmax"); 67 var m = document.getElementById("m"); 68 ex1(lmin.value, lmax.value, nmin.value, nmax.value, m.value); 69 } 70 </script> 71 <script> 72 73 function ex1(lmin, lmax, nmin, nmax, m) { 74 75 document.write('expand1[(ax+b)(cy+d)=acxy+adx+bcy+bd]<br><br>'); 76 77 var a, b, c, d; 78 79 var count = 0; 80 for (count = 0; count < m; count++) { 81 82 while (true) { 83 a = getRandomIntInclusive(lmin, lmax); 84 b = getRandomIntInclusive(nmin, nmax); 85 c = getRandomIntInclusive(lmin, lmax); 86 d = getRandomIntInclusive(nmin, nmax); 87 if (a != 0 && b != 0 && c != 0 && d != 0) 88 break; 89 } 90 91 var e = a * c; 92 var f = a * d; 93 var g = b * c; 94 var h = b * d; 95 96 //document.write("・a=" + a + ",b=" + b + ",c=" + c + ",d=" + d + "<br>"); 97 98 //問題 99 document.write('<input type= "checkbox" name="test" id="num" checked>' + "[" + (count + 1) + "]([" + a + "]x+[" + b + "])([" + c + "]x+[" + d + "])<br>"); 100 101 102 } 103 return; 104 } 105 </script> 106 107 <script> 108 function getRandomIntInclusive(min, max) { 109 min = Math.ceil(min); 110 max = Math.floor(max); 111 return Math.floor(Math.random() * (max - min + 1) + min); //The maximum is inclusive and the minimum is inclusive 112 } 113 </script> 114</body> 115 116</html>
試したこと
色々検索、調べてみましたが解決できませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー