「最も多くチェックされた項目を調べる」に回答するも
最も多くチェックされた項目を調べる
http://oshiete.goo.ne.jp/qa/8587233.html
最近の回答は、もう代入文だけで、結果がでてる。
「もうこんなのは、プログラムと呼べない!」
と、叫んでみたい!^^;
かといって、あそこでは複雑な質問・もしくは面倒な(傾向になりそうな)質問には、答えたくない。
なんとなくだが、。
そんなことより、ペンキ塗りで忙しい。
<!DOCTYPE html> <title></title> <meta charset="utf-8"> <body> <form onsubmit="color(event)"> <p>好きな動物は? <p> <label><input type="radio" name="q1" value="A">うさぎ</label> <label><input type="radio" name="q1" value="B">カメ</label> <label><input type="radio" name="q1" value="C">イルカ</label> <label><input type="radio" name="q1" value="D">くま</label> <p>好きな場所は? <p> <label><input type="radio" name="q2" value="A">空</label> <label><input type="radio" name="q2" value="B">森</label> <label><input type="radio" name="q2" value="C">海</label> <label><input type="radio" name="q2" value="D">畑</label> <p>好きな食べ物は? <p> <label><input type="radio" name="q3" value="A">豆腐</label> <label><input type="radio" name="q3" value="B">ブロッコリー</label> <label><input type="radio" name="q3" value="C">なす</label> <label><input type="radio" name="q3" value="D">ハンバーグ</label> <p> <input type="submit" value="診断"> </form> <script> function color (event) { var col = {A: '白', B:'緑', C:'青', D:'茶色'}; var form = event.target; var list = [ form.querySelectorAll ('input[type="radio"][name^=q][value="A"]:checked'), form.querySelectorAll ('input[type="radio"][name^=q][value="B"]:checked'), form.querySelectorAll ('input[type="radio"][name^=q][value="C"]:checked'), form.querySelectorAll ('input[type="radio"][name^=q][value="D"]:checked') ]; var radio = list.reduce (function (a, b) { return a.length < b.length ? b: a}); var result = radio.length ? col[radio[0].value] + 'が好き': 'ひねくれもの'; alert ('あなたは、' + result); event.preventDefault (); } </script>