javascriptで最も多くチェックされた項目を調べて
それぞれのページに分岐するようにしたいです。
以下はサンプル
<form onSubmit="return color(this)">
好きな動物は?
<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>
好きな場所は?
<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>
好きな食べ物は?
<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="B">なす</label>
<label><input type="radio" name="q3" value="D">ハンバーグ</label>
<input value="診断">
</form>
答えは以下のようにしたいです。
Aにもっとも多くチェックされた=あなたは白が好き
Bにもっとも多くチェックされた=あなたは緑が好き
Cにもっとも多くチェックされた=あなたは青が好き
Dにもっとも多くチェックされた=あなたは茶色が好き
これはどういった計算で書けばいいのでしょうか?
本やネットを探してみましたが自分ではわかりませんでした。
初歩的な質問かもしれませんが何かヒントをくれると幸いです。
No.1
- 回答日時:
選択肢ごとにカウンターを設定し最後に不等号式で判断すればいいだけでは?
つまり、設問1でAが選択されたらカウンターAを+1、以下設問2位光も同様の処理をする。
あとは分かりますよね。
小学生の算数と中学生レベルの数学の範疇のはずです。
さっそく回答ありがとうございます!!
私の説明不足でした!
おっしゃるとおりそのような計算式の概要はわかったのですが
具体的な計算式がわからなかったので
その参考となるスクリプトのヒントをもらえないかと思って質問しました。
自分で本などを見よう見まねで書いてみましたが
上手く動かなかったのでここで質問してみた次第です。
No.2ベストアンサー
- 回答日時:
<!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>
うおおおおおお!!
素晴らしすぎです!感激です!
これを改造して作っていこうと思います!!
ありがとうございましたm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースの値を判断してラ...
-
javascript作成してます。ラジ...
-
チェックされたラジオボタンに...
-
ラジオボタンの分岐方法に関して
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェック数に応...
-
ホームページ作成について。
-
複数のラジオボタンでの選択で...
-
ラジオボタンでdisabledとchecked
-
ラジオボタンの値でリンク先を...
-
ラジオボタンを使った簡単なア...
-
フォームPOST後「戻る」時のチ...
-
javascriptで入力フォームが空...
-
return trueとreturn falseの用...
-
onchangeイベントを強制的に発...
-
UWSCのIE操作でプルダウンを選...
-
Selectの中身をfor文で入れる
-
特定<table>内の<td>の色を変える
-
【jsp/Java】チェックボックス...
-
ボタン2回押しを無効にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンにタブインデック...
-
Jvasvriptのlengthで個数が取得...
-
ホームページ作成について。
-
データベースの値を判断してラ...
-
フォームPOST後「戻る」時のチ...
-
ラジオボタンでdisabledとchecked
-
Form内のselectを連動させるに...
-
アンダーバーのname値は取得で...
-
チェックされたラジオボタンに...
-
jQueryで複数のラジオボタンを処理
-
ラジオボタンのリセット方法
-
ラジオボタンの分岐方法に関して
-
javascriptによる動的なリンク...
-
radio選択をクッキーに保存させ...
-
JavaScriptでラジオボタンのチ...
-
jQuery 変数の使い方について
-
チェックボックスのON/OFFに連...
-
ラジオボタンでチェックした項...
おすすめ情報