• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【急】ラジオボタンで選択問題)

ラジオボタンで選択問題

このQ&Aのポイント
  • ラジオボタンで選択・回答するテストを作成中です。問題は40問あり、3つの選択肢から1つ選びます。
  • テストのチェックしていない項目でも問題ありません。スコアによって次に表示されるページが異なります。
  • 問題や次のページに関する不具合が発生しています。詳細はスクリプト内に記載されています。

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

  • ベストアンサー
  • Yohjira
  • ベストアンサー率66% (14/21)
回答No.1

送信ボタンが <input name="submit" type="submit"… となっているので、ボタンを押したらすぐにデータが送信されているのではないかと。 submitではなく普通のボタン(type="button")にして、 JavaScriptでsubmitしてやればよさそうです。 質問とは関係ないのですが、 ソースをみれば問題の答えがわかってしまうので、 採点処理もPHPでやったほうがよさそうです。

ageha_lie
質問者

お礼

eval("objtestNumber = document.form_test.test" + i + ";"); にすると直りました! お騒がせしましたー!!!

ageha_lie
質問者

補足

>submitではなく普通のボタン(type="button")にして、 >JavaScriptでsubmitしてやればよさそうです。 これだけでは変化なかったので下記の //------------ correct answers -------------- function englishTest(){ var score=0; for(i=0; i<=39; i++){ objtestNumber = document.form_test.test+i; if(objtestNumber[arrAnswer[i]].checked){ score += 1; } // end if checked } // end for i の中の objtestNumber = document.form_test.test+i; をとりあえず最初の一問目の objtestNumber = document.form_test.test0; にすると動きました。 ということは objtestNumber = document.form_test.test+i; になにか問題が?? そして動いたのは動いたのですが スコアは全部で40点満点で、一問1点の予定なのですが なぜか一問7点だったり、15点だったりします。。 (問題によって点数が違う) for loopがおかしいのでしょうか?

関連するQ&A