• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScriptで診断チェックリストを作りたいのですが、、、)

JavaScriptで診断チェックリストを作る方法

このQ&Aのポイント
  • JavaScriptを使用して、同じページのフォーム内で質問チェックリストを作成する方法について教えてください。
  • 質問チェックリストには10の質問があり、それぞれに非常に良い、良い、普通、悪いの4段階で評価する方法を導入したいです。
  • 質問の答えをポイントに変換して、最後に合計ポイントを表示する方法についても教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

こんばんわぁ、Blackwinglsです。 > 合計は、「action="mailto:」ではなく、単純にボタンを > クリックしてテキストエリアに合計が表示されるように > したい <form name="sindan" action="mailto:hoge@hogehoge.com" method="post" enctype="text/plain"> を <form name="sindan" onSubmit="return false;"> に変更してみてください。 ではでは~☆彡

garys
質問者

お礼

本当にご丁寧な回答いただいてありがとうございました。 思ったとおりのページができました。 感謝、感謝でございます。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

こんばんわぁ、Blackwinglsです。 > 小計までは出せるのですが、・・・・ これをどう出してるかによってScriptが変わってくるのですが(^^;) 昔、私が作って自分のWebPageにアップしているのは、以下のようなもんです。 参考にしてください。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"> <title>sindan</title> <script language="JavaScript"> <!-- function chg() { for (i=0; i<num; i++) { if(document.forms[0].elements[i].checked==true) { document.all("L"+i).style.color="red" } else { document.all("L"+i).style.color="Black" } } } function chg2() { for (i=0; i<num; i++) { document.all("L"+i).style.color="Black" } } function Diagnosis() { flag =0 toku = new Array() setumon = new Array() for (i=0; i<num; i++) { if(document.forms[0].elements[i].checked==true) { toku[i]=parseInt(document.forms[0].elements[i].value) j = Math.floor(i/3)+1 setumon[j] = toku[i] flag = flag + 1 } } if(flag == 10) { setumon_a = setumon[1] + setumon[3] + setumon[5] setumon_b = setumon[7] + setumon[9] setumon_c = setumon[2] + setumon[4] + setumon[6] + setumon[8] + setumon[10] sougoukei = setumon_a + setumon_b + setumon_c document.forms[0].syoukei_a.value = setumon_a document.forms[0].syoukei_b.value = setumon_b document.forms[0].syoukei_c.value = setumon_c document.forms[0].sougoukei.value = sougoukei } else { alert("全ての項目が入力されてません") } } //--> </script> </head> <body onLoad="chg()"> <hr> <form name="sindan" action="mailto:hoge@hogehoge.com" method="post" enctype="text/plain"> <b>Q1:HPは・・・・</b><br> <input type="radio" name="q1" onClick="chg()" value=0><span id=L0>ヒューレットパッカードのこと</span><br> <input type="radio" name="q1" onClick="chg()" value=1><span id=L1>ホームページのこと</span><br> <input type="radio" name="q1" onClick="chg()" value=2><span id=L2>ヒットポイント!!</span><br> <b>Q2:ブラインドタッチは・・・・</b><br> <input type="radio" name="q2" onClick="chg()" value=0><span id=L3>チャットで覚えた</span><br> <input type="radio" name="q2" onClick="chg()" value=1><span id=L4>専用ソフトでおぼえた</span><br> <input type="radio" name="q2" onClick="chg()" value=2><span id=L5>できないっす</span><br> <b>Q3:クロックアップは・・・・</b><br> <input type="radio" name="q3" onClick="chg()" value=0><span id=L6>何時もやっている</span><br> <input type="radio" name="q3" onClick="chg()" value=1><span id=L7>やろうと思ったことはある</span><br> <input type="radio" name="q3" onClick="chg()" value=2><span id=L8>それって何?</span><br> <b>Q4:Windowsのクリーンインストールは・・・・</b><br> <input type="radio" name="q4" onClick="chg()" value=0><span id=L9>定期的にやっている</span><br> <input type="radio" name="q4" onClick="chg()" value=1><span id=L10>不具合が出てからやっている</span><br> <input type="radio" name="q4" onClick="chg()" value=2><span id=L11>たぶん、人に頼むしかないっす</span><br> <b>Q5:LAN環境が・・・・</b><br> <input type="radio" name="q5" onClick="chg()" value=0><span id=L12>自宅でサーバーをたてて構築</span><br> <input type="radio" name="q5" onClick="chg()" value=1><span id=L13>Windowsのファイル共有程度なら</span><br> <input type="radio" name="q5" onClick="chg()" value=2><span id=L14>家庭内乱なら年中です</span><br> <b>Q6:メインのOSは・・・・</b><br> <input type="radio" name="q6" onClick="chg()" value=0><span id=L15>Unix系</span><br> <input type="radio" name="q6" onClick="chg()" value=1><span id=L16>Windows系</span><br> <input type="radio" name="q6" onClick="chg()" value=2><span id=L17>OSって何?</span><br> <b>Q7:2chは・・・・</b><br> <input type="radio" name="q7" onClick="chg()" value=0><span id=L18>常連です</span><br> <input type="radio" name="q7" onClick="chg()" value=1><span id=L19>たまには見る程度</span><br> <input type="radio" name="q7" onClick="chg()" value=2><span id=L20>NHK?</span><br> <b>Q8:串とか鯖とか・・・・</b><br> <input type="radio" name="q8" onClick="chg()" value=0><span id=L21>ぽろっと出てしまう</span><br> <input type="radio" name="q8" onClick="chg()" value=1><span id=L22>まぁ意味なら分かるけど</span><br> <input type="radio" name="q8" onClick="chg()" value=2><span id=L23>鯖の串焼き?</span><br> <b>Q9:文章を打つなら・・・・</b><br> <input type="radio" name="q9" onClick="chg()" value=0><span id=L24>エディタが一番</span><br> <input type="radio" name="q9" onClick="chg()" value=1><span id=L25>Wordでしょう</span><br> <input type="radio" name="q9" onClick="chg()" value=2><span id=L26>紙と鉛筆が・・・</span><br> <b>Q10:パソコン無しだと・・・・</b><br> <input type="radio" name="q10" onClick="chg()" value=0><span id=L27>生きていけない</span><br> <input type="radio" name="q10" onClick="chg()" value=1><span id=L28>不便だよね</span><br> <input type="radio" name="q10" onClick="chg()" value=2><span id=L29>だから・・・それって食えるの?</span><br> <p> <input type="submit" value="診断開始" accesskey="y" onClick="Diagnosis()"> <input type="reset" value=" リセット " accesskey="n" onClick="chg2()"> </p> 小計A : <input type="text" name="syoukei_a" value="0" size="10" style="text-align:right"><br> 小計B : <input type="text" name="syoukei_b" value="0" size="10" style="text-align:right"><br> 小計C : <input type="text" name="syoukei_c" value="0" size="10" style="text-align:right"><br> 総合計: <input type="text" name="sougoukei" value="0" size="10" style="text-align:right"><br> </form> <script language="JavaScript"> <!-- var num = document.forms[0].length-6 //--> </script> </body> </html> 詳しく動作確認はしていません。 ではでは~☆彡

garys
質問者

お礼

ご丁寧な回答ありがとうございます。 教えていただいたスクリプトでうまくいきそうに思うのですが、 合計は、「action="mailto:」ではなく、単純にボタンを クリックしてテキストエリアに合計が表示されるように したいのですが、おそらく「function Diagnosis() 」以下を変更すると思うのですが、ご教授いただけますでしょうか。 初心者で申し訳ありませんが、よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

こんばんわぁ、Blackwinglsです。 総合計D = 小計A + 小計B + 小計C とするか 総合計D = 質問1 + 質問2 + 質問3 + ・・・・・ + 質問10 とするかのどちらか(^^;) 具体的内容は > 合計点をつけるような診断チェックリストが3種類ありまして、・・・ 上記Scriptでその得点を、どのように変数処理してるか次第ですね。 ではでは~☆彡

garys
質問者

お礼

さっそくのご回答ありがとうございます。 総合計は、 総合計D = 小計A + 小計B + 小計C と考えています。 小計までは出せるのですが、これらの合計をどうしたら よいものか途方にくれております。 合計点は各質問の点数(0点、1点、2点、3点のいずれか)の合計をそれぞれの群の小計に、 そしてその総合計を表示させたいのです。 お分かりの方がおられましたら、ご教授いただけましたら 幸いです。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 診断チェックリストを作りたいのですが、、、

    10問くらいの質問にそれぞれ「非常に良い」「良い」「普通」「悪い」の4段階くらいで、0点、1点、2点、3点と点数をつけて最後に合計点をつけるような診断チェックリストが3種類ありまして、各チェックリストの合計と全種類の総合計を表示させたいと思うのですが、この総合計というのがどうにもわかりません。 どなたかご教授いただけませんでしょうか。 よろしくお願い致します。

  • ADHDはチェックリストの点数化だけで診断?

    ADHDは、チェックリストへの回答内容を点数化するだけで簡単に診断ができるのでしょうか? 先日、精神科の医師から、「ADHDかどうかを調べるからこのチェックリストに回答して次回持ってきてください」と言われました。そのチェックリストは合計で20問くらいで、私と妻から私について回答するものでした。回答したチェックリストを医師に渡すと、その場で回答内容を30秒ほどで点数化して、「ADHDの場合は◯◯点以上なんだけど、あなたは◯◯点なので、軽度のADHDですね」と言われて、診断に関してはそれで終わりました。問診などは全くありませんでしたし、チェックリストの回答内容に関する聴き取りもありませんでした。 ADHDの診断は、通常こんなに簡潔に実施されるものなのでしょうか? ADHDの診断にお詳しい方、もしくはADHDの診断を受けたことのある方など、ご回答頂ければ幸いです。

  • エクセルの並べ替えについておねがいします。

    名前 点数1 点数2 合計 点数1順位 点数2順位 総合順位 A  20  20  40   3     2     2 B  30  10  30   2     3     3 C  40  30  70   1     1     1 のような表があります。 総合順位順に並べ替えて別シートに表示したいのですが、 順位  名前 合計 1   C  70 2   A  40 (このように)    どうしたらいいでしょうか。 ちなみに点数1、2、合計も 表示できれば幸いです。 あと、別件で、「#N/A」とはどんなエラーメッセージなんでしょう? 表示させないようにするにはどうしたらいいですか。 宜しくお願いします。 

  • エクセルでチェックリストをつくるとき

    ご観覧ありがとうございます。 エクセルでチェックリストを作ってチェックをいれたら 前もってきめた金額を入力したいのですが 検索したところチェックリストの作り方はわかりました。 ただしこれでは 金額は出てこないみたいです。 もうひとつ検索したところでマクロがありました。 が、しかし私パソコンでは使えますが 実際使うのは職場なのですがその職場は個人情報を膨大に取り扱うためセキュリティの関係でマクロがつかないです。 なのでマクロなしで金額いれるようなやり方はありませんか? プルダウンならいれれそうなのですが 時間がかかりそうなので クリックひとつで 金額が入るならどんな方法でもかまいません。 ○A 100円○B 200円○C 300円・・・ と画面上に配置してクリックしたやつだけ後ほど 合計金額をいれたいのです。 どうぞうよろしくおねがいします。

  • 点数の求め方について

    下記問題について質問です。 AとCの点数の差が15点、CとDの点数の差が5点というのは分かるのですが、そのあとが思いつきません。 すいませんが、解き方を教えてください。 解答は78点です。 よろしくお願いします。 A,B,C,D4人のテストの合計点は353点であった。AはBより高い点を取り、その差はBとDの点数の差の1/4であった。また、AとCではAのほうが15点高く、AとCの点数の差はCとDの点数の差の3倍であった。Dの点数が一番低いとき、Dは何点か。

  • JavaScriptによる自動計算フォーム

    サンプルを読んだりは多少わかる範囲なのですが、カスタムの段階で詰まってしまいましたのでお知恵お貸し頂ければと思います。 積算の自動計算フォームを作成しようとしてるのですが、サンプルでよくあるものが固定数値×プルダウン=小計のようなものが多く、この固定数を入力フォーム、プルダウンも入力フォームに切り替えたいのですが、変更すると合計欄がNaNと表示されてしまいます。 何か指定が間違っているのでしょうか。 こちらのサイトを参考に作っています。 http://www.tagindex.com/javascript/form/comp1b.html 宜しくお願いします。

  • 設問に対する回答、、CGIかな?

    ホームページ上で、下の例のような質問項目を問い、それぞれを選んだときに 問1のaは1点、bは5点、cは3点 問2のaは7点、bは1点、cは3点 問3のaは1点、bは3点、cは4点、dは7点 と点数を与えていたとします。(もちろん点数は非表示で) そして各自が選んだ点数の合計が 5点以下なら・・・・Xという結果 6~10点なら・・・・Yという結果 11点以上なら・・・・Zという結果 を出したいのですが、うまく記述してあるHPはありますか? 例) 問1,あなたはAだとおもいますか? aはい bいいえ cどちらとも言えない 問2,あなたはBだとおもいますか? aはい bいいえ cどちらとも言えない 問3,あなたはCをどのぐらいしますか? aしない b1時間以上 c3時間以上 d5時間以上 ※説明がヘタですか?すいませんm(_ _)m

    • ベストアンサー
    • HTML
  • Access クエリで2段階計算をしたい

    Access2003を使用中です。 Access初心者です。 ある数値データのテーブルがあります。 A~Gグループ毎にクエリをつくりそれぞれ小計を出しています。 さらにA小計~G小計 を合計する別のクエリをつくり、  合計:Nz([A小計]+[B小計]+・・・・+[G小計]) という式を入れたのですが、計算されるのではなく、数字の連なりになって出てきます。 説明が悪いのですが、  例えばA小計=12  B小計=16 C小計=6 ・・・・ だと このフィールドには  「12166・・・」という形で出てきます。 計算の式が間違っているのでしょうか?それともクエリで出した小計を更に合計することは出来ないのでしょうか? 申し訳ありませんが、ご教授ください   

  • 条件で合計を分ける?方法を教えていただけますか?

    どなたかお分かりになる方、教えていただけますでしょうか? 下記添付画像のようなエクセル表があります。 この表から、テストの点数の総合計が50点以上で、かつ科目「英」と「数」の合計も50点以上の人は「Yes」、そうでない人物は「No」ということが、すぐに分かるような表を作りたいのです。 例えば、Aさんはこれまで4つのテストを受けており、そのテスト全ての合計点数が80点で、かつ「英」と「数」の総合計70点なので、「Yes」 Bさんは、これまでテスト2つで総合計が50点、「英」「数」の総合計も50点なので「Yes」、 Cさんは3つのテストで総合計は60点だけれど、「英」「数」の合計が30点なので「No」、 Dさんは1つのテストで総合計50点だけれど、「理」以外のテストを受けてないので「英」「数」総合計0点なので「No」 色々考えたのですが、私の知識では全く思いつかず。。。 お分かりになる方がいらっしゃいましたら、ご教授いただけないでしょうか。 どうぞよろしくお願い致します。

  • EXCEL関数について

    EXCELで集計する表を作成しました。 各項目ごとの小計もあるのですが、このような縦計算の場合、SUMで全部を指定してしまうと、全部の数値が入って計算されてしまうのですが、そうならないように、小計があるところはその数値を使用するか、小計を除いて値のみで計算していくか、簡単に総合計を出す関数はありますか?教えてください。(C商品やD商品のように小計がない場合もあります) ひとつひとつ対象の値を選択していけばいいのかもしれないですが、値がたくさんあるので、簡単にできる方法を知りたいです。 例 A商品   200 A商品   300 小計    500 B商品   100 B商品   20 小計 120 C商品   30 D商品   10     ・     ・     ・ 総合計 ?