CGI-BBS > JAVA/JavaScript > JavaScript > ラジオボタンの数を数えるには?


カレッヂ
カレッヂ


質問者 若葉マーク  投稿日 11/7(水) 14:44:28
はじめまして。全くの初心者です。どうかお助けください。

15の質問に、それぞれ答えが4つずつ(A,B,C,D)用意されているフォームで、
最終的な合計(Aが何個、Bが何個、Cが・・・)を出すようなスクリプトは可能でしょうか?
はい、いいえの2つずつのものは見つかるのですが、4つバージョンがどうにも分かりません。

回答者 しあわせのツボ  [削除]  投稿日 11/7(水) 15:44:58
書き殴っておきます。間違いがあれば、誰かが指摘してくれるでしょう。
それぞれ1,2,3,4の値を持つラジオボタンQ1?Q15があると仮定します。
var tmp = 0;
var answers = new Array(0,0,0,0,0);
for(var i=1; i<=15; i++) {
tmp = eval("document.フォーム名.Q" + i + ".value");
answers[tmp]++;
}
これでanswers[1]?answers[4]にそれぞれの回答数が入ります(ついでにanswers[0]には無回答の数が入ると思います)。
最終的に何をしたいのか(単に数を表示したいのか、数によってメッセージを変化させたいのか、etc)が不明ですので、あとはご自由に。
質問者 若葉マーク  [削除]  投稿日 11/7(水) 17:31:11
返答ありがとうございます^^。
やりたいことは、フォームで15列の質問の下に、合計欄を作って、合計数をただ表示したいだけです。

ただ、あまりにも無知なもので、書いていただいた内容をどういう風に合計に結びつけていいのか分かりません(泣)。また、ばかな質問をさせていただいてもよろしいでしょうか。

お教えいただいた内容
----------------------------------------------------
var tmp = 0;
var answers = new Array(0,0,0,0,0);
for(var i=1; i<=15; i++) {
tmp = eval("document.フォーム名.Q" + i + ".value");
answers[tmp]++;
}
----------------------------------------------------
は、そのまま<SCRIPT language=JavaScript>うんのんで囲むヘッダー(?)に書くと思っていいのでしょうか?
フォームで、それぞれ1,2,3,4の値を持つラジオボタンQ1〜Q15を作った後、合計欄はテキストフィールドですよね(よく分かりませんが・・・)?
「これでanswers[1]?answers[4]にそれぞれの回答数が入ります」という箇所がよく分かりませんでした。
合計欄のフィールドのnameにanswers[1]とかを書くのかどうなのか・・・・???

基礎がなっていないのに無謀な質問かもしれませんが。。。お助けいただければ幸いです。どうぞよろしくお願いいたします。

返信(回答)する


Web裏技