• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:fc2ブログの記事内で、ラジオボタンでクイズ)

FC2ブログで記事内にラジオボタンでクイズを作成する方法

このQ&Aのポイント
  • FC2ブログの記事内でラジオボタンを設置して択一クイズが作成できる方法を教えてください。
  • 記事内にプログラムを入力してラジオボタンにチェックが入れられるが、採点ボタンを押しても反応しない現象が発生しています。
  • フォームタグとラジオボタンのプログラムを利用してFC2ブログの記事内に動作するクイズを作成する方法を教えてください。

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

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.3

記事ごとに違う問題と回答なら、こんな感じでしょうか。 ポイントとしては、選択肢に値をつけることと、 関数 saiten の引数に対象フォームと回答を含めることです。 <script> function saiten(name,answers){ var readRadio = function(radios) { for (var d = 0; d < radios.length; d++ ) if (radios[d].checked) return radios[d].value; return null; } var form = document.forms[name]; var seikai = 0; for (var i in answers) { var e = form.elements[i]; if (!e) continue; if (answers[i] == readRadio(e)) seikai++; } var score = seikai * 20; alert("あなたは"+score+"点でした!"); return false; } </script> <form name=radioB> <p>カナダの首都は? <ul> <li> <label><input type=radio name=Q1 value=1>オタワ</label> <li> <label><input type=radio name=Q1 value=2>トロント</label> <li> <label><input type=radio name=Q1 value=3>モントリオール</label> </ul> 中略 <p><button type=button onclick="saiten('radioB',{Q1:'1',Q2:'3',Q3:'3',Q4:'2',Q5:'3'})">採点</button> </form>

childcom
質問者

お礼

分かりやすく説明して頂きありがとうございました!とても返事が遅れてしまいすみませんでした。

その他の回答 (2)

  • warpspace
  • ベストアンサー率56% (83/147)
回答No.2

ANo.1の補足です。 >↓この部分ですよね。 →そうです。 >1記事ごとに質問・正解が違うものにしたいです。記事ごとにスクリプトの記述は、  変えれるのでしょうか? →現在のスクリプトのロジックでは変更できません。  変更するためには、onclickでスクリプトをコールするときに正解の変数を  指定し、スクリプト側でこれを受け取って答えの番号の配列に入れるように  ロジックを変更する必要があります。 javascriptの基本を、もう少し勉強する必要がありますね。

  • warpspace
  • ベストアンサー率56% (83/147)
回答No.1

設定-テンプレートの設定画面のHTML編集で、<head>~</head>の間に スクリプトを定義してみてください。

childcom
質問者

補足

↓この部分ですよね。 <script> function saiten(){ var seikai=0; //正解数を入れる変数 //答えの番号を配列に入れる var trueAns = new Array(0,5,8,10,14); //正解のラジオボタンがチェックされているか確認 for (i=0 ; i<5 ; i++) { if( document.radioB.elements[trueAns[i]].checked ) seikai++; } alert("あなたは"+seikai*20+"点でした!"); } </script> -------------------------------------------------- ↓この部分が記事ごとに変わらないと次のページでも正解の順番が同じなりますよね? //答えの番号を配列に入れる var trueAns = new Array(0,5,8,10,14); 1記事ごとに質問・正解が違うものにしたいです。記事ごとにスクリプトの記述は、変えれるのでしょうか? 他の方法でも結構ですので、ご指導ください。

専門家に質問してみよう