• 締切済み

答え合わせ

どうしても分からなくて困っているので、 どなたか教えてください。 質問は、良くHPを見ていると、クイズや、テストや、性格判断等で、HP上で、質問の答えを選択していくと、その値の答えや、選択した値を合計した結果等をその場で、判断できるようなページを見かけますが、 そういうHPは、どうすれば作れるのでしょうか? 私も、ああいう感じで、英語のレベルテストが、その場で出来るようなものを 作成したいのですが、さっぱり分からなくて・・・ ご指導のほどよろしくお願いします。

  • YUK
  • お礼率38% (7/18)

みんなの回答

  • ykc
  • ベストアンサー率29% (28/95)
回答No.7

>振り分けて表示するのは、どこを置き換えたら良いのか分からなくて こうなるハズです。 function total(){ var answer = 0 for(var i = 0; i <= 7; i++){ if(document.mondai.elements[i].checked){ answer += eval(document.mondai.elements[i].value); } } if(answer < 5){ window.open("./low.html?" + answer,"AnsWin","toolbar=no,lcation=no"); } else{ window.open("./high.html?" + answer,"AnsWin","toolbar=no,lcation=no"); } >もちろんです。どんなソースなんでしょう・・・ わたしが、最初につくったものです。すこし変更してありますが。 ------------------------------ ・question.html <HTML> <HEAD> <TITLE>YES/NO Quiz</TITLE> <SCRIPT LANGUAGE="javascript"> <!-- function total(){ radioLength = new Array(4,4,6); //各FORMのradioの数 var loopCount = new Array(0,0,0) //各FORMの初期点数 for(var j = 0; j <= loopCount.length - 1; j++){ for(var i = 0; i <= radioLength[j] - 1; i++){ if(document.forms[j].elements[i].checked){ loopCount[j] += eval(document.forms[j].elements[i].value); } } } // 結果を別のWindowへ渡す window.open("./answer.html?" + loopCount.join(";"),"AnsWin", "toolvar=no"); } //--> </SCRIPT> </HEAD> <BODY> <FORM NAME="mondai1"><!-- forms[0] --> <P>Lesson: 1) ◯◯に関する問題:<BR></P> 問題1<BR> <INPUT TYPE="radio" NAME="q01" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q01" VALUE="0">答え2<BR> 問題2<BR> <INPUT TYPE="radio" NAME="q02" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q02" VALUE="0">答え2<BR> </FORM> <FORM NAME="mondai2"><!-- forms[1] --> <P>Lesson: 2) ××に関する問題:<BR></P> 問題1<BR> <INPUT TYPE="radio" NAME="q03" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q03" VALUE="0">答え2<BR> 問題2<BR> <INPUT TYPE="radio" NAME="q04" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q04" VALUE="0">答え2<BR> </FORM> <FORM NAME="mondai3"><!-- forms[2] --> <P>Lesson: 3) △△に関する問題:<BR></P> 問題1<BR> <INPUT TYPE="radio" NAME="q05" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q05" VALUE="0">答え2<BR> 問題2<BR> <INPUT TYPE="radio" NAME="q06" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q06" VALUE="0">答え2<BR> 問題3<BR> <INPUT TYPE="radio" NAME="q07" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q07" VALUE="0">答え2<BR> </FORM> <FORM NAME="kaitou"> <INPUT TYPE="button" VALUE="回答" onClick="total()"> </FORM> </BODY> </HTML> ------------------------------ ・answer.html <HTML> <HEAD><TITLE>Yes/No Quiz</TITLE></HEAD> <BODY> <H1>結果</H1> <SCRIPT LANGUAGE="javascript"> <!-- var GetScore = location.search; var totalScore = GetScore.split('?'); var score = totalScore[1].split(';'); var totalPoint = 0; for(var i = 0; i <= score.length - 1; i++){ totalPoint += eval(score[i]); document.write('Lesson ' + (i + 1) + ": " + score[i] + ' point<BR>'); } document.write('<P>合計 ' + totalPoint + ' 点<BR></P>'); //--> </SCRIPT> </BODY> </HTML> ------------------------------ このソースに関しては、詳しく説明しません。

YUK
質問者

お礼

本当に、本当にお世話になりありがとうございました。 こんなに親切に誠意を持って教えて頂けて心から感謝しています。ykcさんって本当に知識が豊富で、良くお分かりになるんですね。凄い!ykcさんのお力添えで、おかげさまで私自身では、とても出来ないような事が出来そうです。本当にありがとうございました。 それと、私のメールアドレスを書きますので、よろしかったらメールでもくださいね。 milkylove23@hotmail.com

  • ykc
  • ベストアンサー率29% (28/95)
回答No.6

>入力しながら答えがカウントされない方がいいかな・・・ <FORM NAME="kekka"> <INPUT TYPE="text" NAME="kekkabox" SIZE="20"> </FORM> ↑残してあるなら、削除してかまいません。これは動的にスコアを表示させるものです。 >ご気分害されていませんか? いへ。べつにそんなわけではないですよ。ただ、あまり時間が空かないほうがいいかなぁとおもって、あまり推敲せずにポストしたもので(^^; >どこかお勧めはありますか? Java Scriptにしても、CGIにしても、HTMLに関する知識が必須ですので、とほほさんの「とほほのWWW入門( http://wakusei.cplaza.ne.jp/twn/www.htm )」でしょうか。 >下記の部分と置きかえれば良いのでしょうか? 「//書き換えた」のある行です。 得点が5点未満なら「low.html」へ。それ以上なら「high.html」を開きます。 # 最後に掲載したいソースがあるんですが、だいじょうぶでしょうか?

YUK
質問者

補足

ご気分害されていないとお聞きしてホッといたしました。 とほほさんのページも見てみました。 参考にして、勉強してみたいと思います。ありがとうございました。 振り分けて表示するのは、どこを置き換えたら良いのか分からなくて、まだ試していません。 どういうわけかOKwebさんから、Answerが入ったというお知らせが入るのが今日だったので、YKCさんが23日に、お答え頂いてるのに、気がつくのが遅くなっちゃて、すぐ試す事が出来ませんでした。今日は、ちょっと忙しいので明日試してみたいと思います。 ># 最後に掲載したいソースがあるんですが、だいじょうぶでしょうか? もちろんです。どんなソースなんでしょう・・・ (’-’。)(。’-’)。ワクワク 

  • ykc
  • ベストアンサー率29% (28/95)
回答No.5

>正解のトータルを、まとめて表示するように変更は出来ないんですよね? alertは音がでるので、別ページへ表示するようにしたのですが。 alertのかわりに「prompt("合計点", answer);」としてもよいのですが、ちょっとかっこ悪いです。 というか、新しく開いたウインドウにでませんか? >得点が分からない方がいいかなーと思ったんですが 集計とか、一人1回とかだけに限定したいんですか? それだったらJava Scriptではムリです。CGIに投げてください。 >でも、難しいんでしょうね。教えて欲しいな・・・ たいして難しくはないですよ。 Tips系のサイトでなくとも、Java Scriptの基本文法がのせてあるサイトなら、たいがいは掲載されてるとおもいます。 ex) if(answer < 5){ window.open("./low.html?" + answer,"AnsWin","toolbar=no,lcation=no"); } else{ window.open("./high.html?" + answer,"AnsWin","toolbar=no,lcation=no"); }

YUK
質問者

補足

今回も、ご教授頂きありがとうございます。 >というか、新しく開いたウインドウにでませんか? はい。出てるんですが、入力しながら答えがカウントされない方がいいかな・・・と少し思ったんですが、今のでも、全然OKですし、凄い満足&感謝しています。 ご気分害されていませんか?素人で訳がわからないことを申し上げてすいません。 >Tips系のサイトでなくとも、Java Scriptの基本文法がのせてあるサイトなら・・・ とありますが、どこかお勧めはありますか? 今回、例として教えていただいた、 ex) if(answer < 5){ window.open("./low.html?" + answer,"AnsWin","toolbar=no,lcation=no"); } else{ window.open("./high.html?" + answer,"AnsWin","toolbar=no,lcation=no"); } というのを、前回教えていただいた、下記の部分と置きかえれば良いのでしょうか? if(document.mondai.elements[i].checked){ answer += eval(document.mondai.elements[i].value); } } window.open("./answer.html?" + answer,"AnsWin","toolbar=no,nocation=no"); //書き換えた }

  • ykc
  • ベストアンサー率29% (28/95)
回答No.4

>アラートでもOKなんですが、アラートのマークとか、 > 音がない方がベターなのですが・・・ とのことですので、はじめの希望のように、次のページへ移行するように組み替えました。 なるべくわかりやすく、便利(汎用的)にしたつもりですが、不明なところは補足しますので、遠慮なくどうぞ(案外ヒマなもので(^^;)。 「question.html」と「answer.html」は、同一のディレクトリにあるものとします。 ----------------------------- ・question.html <SCRIPT LANGUAGE="javascript"> <!-- function total(){ var answer = 0 for(var i = 0; i <= 7; i++){ if(document.mondai.elements[i].checked){ answer += eval(document.mondai.elements[i].value); } } window.open("./answer.html?" + answer,"AnsWin","toolbar=no,nocation=no"); //書き換えた } //--> </SCRIPT> <FORM NAME="mondai"> 問題1<BR> 以下、同一のため省略。 ----------------------------- ・answer.html <H1>Answer</H1> <SCRIPT LANGUAGE="javascript"> <!-- var GetScore = location.search; var score = GetScore.split('?'); document.write('あなたの得点は ' + score[1] + ' です<BR>'); //--> </SCRIPT> 得点が振るわなかったひとは、もうすこし勉強しましょう。<BR> ----------------------------- question.htmlのwindow.openの仕組みとif文の使い方がわかれば「得点よって違うページへ移行させる」ことも可能です。 >すごい!あんな事もJAVA SCRIPTで出来ちゃうんですね! ソースを参照すれば、回答がわかってしまうという脆弱姓もあります。 CGIでやるほうが、もっといろいろなことができるので、ほんとうはベストなんですけど・・・ 習得までの時間を考えるとしばらくはJAVA SCRIPTでしのぐしかないのでしょうかね。

YUK
質問者

補足

ykcさん、またまたまた、詳しく教えていただいて、本当にありがとうございます。m(_ _)mペコッ!なんてお優しいのでしょう!感謝いたします。 さて、今日も早速、HPに張り付けて確認してみました。 あ、サーバーにもアップしないと・・・ むむ!今日のも、凄い!本当にいろいろ出来ちゃうんですねー!すばらしい! 今回、教えて頂いた物は、アラートが出る時みたいに 正解のトータルを、まとめて表示するように変更は出来ないんですよね?<今でも、凄い良いのですが、入力しながら、得点が分からない方がいいかなーと思ったんですが> >question.htmlのwindow.openの仕組みとif文の使い方>がわかれば「得点よって違うページへ移行させる」こと>も可能です。 なるほど。それはすごく良いですね! でも、難しいんでしょうね。教えて欲しいな・・・ もし、ご迷惑でなければ、教えてくださいませんか? 私の居る所には、日本の本屋さんが無くて、もはやYKCさんだけが頼りです。今まで、教えていただいたのも、凄く勉強になって、助かりました。 >遠慮無くどうぞ とおっしゃっていただいて、本当に感謝しています。 いろいろお願いして申し訳ございませんが、 更なる、ご指導をよろしくお願いいたします。

  • ykc
  • ベストアンサー率29% (28/95)
回答No.3

>それぞれ質問項目や、答えにすればいいのですか? そうです。サンプルはYes/No形式を想定してます。 VALUEの値を変更することで、結果の値を変更することができます。 問題数を増やすときは「NAME="q06"」のように、NAMEを増やしてください。同じNAMEであれば、同じ範囲(問題への回答)になります。 あまり問題数を増やすと、ブラウザが落ちますので注意が必要です。 >まとめて表示したいのですが、 onClick="total()"をラジオボタンからsubmitへと関連づけを変更して、少し書き換えます。 Java Scriptを使用する場合は、次のページへ表示させるのは難しいです。 <SCRIPT LANGUAGE="javascript"> function total(){ var answer = 0 for(var i = 0; i <= 7; i++){ if(document.mondai.elements[i].checked){ answer += eval(document.mondai.elements[i].value); } } alert("合計: " + answer + "点"); //書き換えた } </SCRIPT> <FORM NAME="mondai"> 問題1<BR> <INPUT TYPE="radio" NAME="q01" VALUE="1">答え1<BR> <!-- 書き換えた --> <INPUT TYPE="radio" NAME="q01" VALUE="0">答え2<BR> 問題2<BR> <INPUT TYPE="radio" NAME="q02" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q02" VALUE="0">答え2<BR> 問題3<BR> <INPUT TYPE="radio" NAME="q03" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q03" VALUE="0">答え2<BR> 問題4<BR> <INPUT TYPE="radio" NAME="q04" VALUE="1">答え1<BR> <INPUT TYPE="radio" NAME="q04" VALUE="0">答え2<BR> <INPUT TYPE="submit" onClick="total()"> <!-- 追加した --> </FORM> >また、個人的に有償で設置代行して頂く事は可能でしょうか? 場所によっては無償でも可能ではありますが・・・ 保守・更新・管理ということを考えたら、やはりおぼえるのが一番かとおもいますよ。

YUK
質問者

補足

早速、HPで表示して見ました。 すごい!あんな事もJAVA SCRIPTで出来ちゃうんですね! ありがとうございます。ほぼ希望が叶う感じです。 合計点の表示を、アラート以外で、<ただのBOXがでるときみたいに>同じように出来ますでしょうか? アラートでもOKなんですが、アラートのマークとか、 音がない方がベターなのですが・・・ 度々、いろいろお聞きして申し訳ありませんが、よろしくお願い致します。 また、設置代行の件 >場所によっては無償でも可能ではありますが・・・ とのご回答をいただき、ありがとうございます。 お忙しい所、夜遅くにご回答頂くだけで恐縮なのにすいません。でも、私が居るのは海外なので、お願いしたいのは山々ですが、ちょっと無理ですね。ykcさんのおっしゃるとおり、自分で出来るのが1番ですよね。また、分からない事があれば、OK WEBに来ますので助けてくださいませ。

  • ykc
  • ベストアンサー率29% (28/95)
回答No.2

リアクションがないので、Java Scriptを使ったサンプルを掲載しておきます。 <SCRIPT LANGUAGE="javascript"> <!-- function total(){ var answer = 0 for(var i = 0; i <= 9; i++){ //☆ if(document.mondai.elements[i].checked){ answer += eval(document.mondai.elements[i].value); } } document.kekka.kekkabox.value = answer; } //--> </SCRIPT> <FORM NAME="kekka"> <INPUT TYPE="text" NAME="kekkabox" SIZE="20"> </FORM> <FORM NAME="mondai"> 問題1<BR> <INPUT TYPE="radio" NAME="q01" VALUE="1" onClick="total()">答え1<BR> <INPUT TYPE="radio" NAME="q01" VALUE="0" onClick="total()">答え2<BR> 問題2<BR> <INPUT TYPE="radio" NAME="q02" VALUE="1" onClick="total()">答え1<BR> <INPUT TYPE="radio" NAME="q02" VALUE="0" onClick="total()">答え2<BR> 問題3<BR> <INPUT TYPE="radio" NAME="q03" VALUE="1" onClick="total()">答え1<BR> <INPUT TYPE="radio" NAME="q03" VALUE="0" onClick="total()">答え2<BR> 問題4<BR> <INPUT TYPE="radio" NAME="q04" VALUE="1" onClick="total()">答え1<BR> <INPUT TYPE="radio" NAME="q04" VALUE="0" onClick="total()">答え2<BR> 問題5<BR> <INPUT TYPE="radio" NAME="q05" VALUE="1" onClick="total()">答え1<BR> <INPUT TYPE="radio" NAME="q05" VALUE="0" onClick="total()">答え2<BR> </FORM> ☆印の個所は、ラジオボタンの数によって異なります。ふたつめの「i <= 9」は、「ラジオボタンの数-1」です。ラジオボタンが20コあれば、「for(var i = 0; i <= 19; i++)」になります。

YUK
質問者

お礼

具体的にスクリプトのサンプルまで教えていただいて 感激です。本当にありがとうございました。 教えていただいたサンプルの☆の部分や2つ目の所を 変更して、問題1、答え1みたいになってる所を それぞれ質問項目や、答えにすればいいのですか?

YUK
質問者

補足

頂いたサンプルを、実際にHPにコピーして見てみたのですが、ほぼ希望どうりのもので大変感謝しています。 ただ、出来れば、合計点の部分は次のページとかに まとめて表示したいのですが、どこをどうしたらそうなるのか分からないので、できましたら補足をお願いします。 お忙しい所申し訳ありませんがよろしくお願い致します。

  • ykc
  • ベストアンサー率29% (28/95)
回答No.1

Java Scriptを使うのが一般的で簡単だとおもいますが、Java Scriptは「ソースを参照すると答えがわかってしまう」ので、FORMを利用したCGIを使う方がベターです。

YUK
質問者

補足

CGIを使った物という事ですが、実は、ykcさんが、他の方の会議室についての質問でご紹介していた『結城さん』ていう方のHPで、『クイズ』のようなものを見つけました。こういう感じのができたら、最も理想的なんですが、 私の手におえるか・・・ 簡単に設置できるような物は、ご存知ありませんか? また、個人的に有償で設置代行して頂く事は可能でしょうか?

関連するQ&A

  • 無料で英語のクイズができるサイト

    こんばんは。 2年前に見つけたサイトなんですが、 クイズ形式で英語の選択問題ができるサイトがありました。 英語で質問があり、選択肢から答えをクリックして次の画面へいき、 最後は採点されるというものです。 答えもクリックすれば音声が答えてくれました。 関連で社会科の同じようなサイトもありました。 ですが、場所を忘れてしまいました。 似たようなサイトがあれば教えていただけないでしょうか? レベルは中学生1年程度だったように思います。 宜しくお願いします。

  • センター:リスニングテストについて、教えてください

    試験は明後日です。 事情により、今年度模試が受けられませんでした。 リスニングテストなのですが、どういう流れになっているのでしょうか。 例えば、文が朗読されて、それに対する質問と答えの選択肢が英語で聞こえてくるのでしょうか? 文はいくつあって、問題は合計いくつくらいあるのでしょうか? ご存知の方、よろしくお願いします。

  • ブラウザの戻るを禁止したいのですが…

     こんにちは! 実は、HPでクイズ形式のページを作っていて、間違った答えをやり直せないよう、ブラウザの”戻る”を禁止したいのですが、タグが分からず途方にくれております。HPは子どもが対象ですので、あくまで簡易的なもので構わないのですが、JAVAのサイトを回ってみても、そういったスクリプトを配布してあるサイト様を見つけることができませんでした。  どなたか、アドバイスをいただければと思います。よろしくお願いいたします。

  • 塾で受講する教科…

    個別指導塾に行きたい中1です。 ですが、個別指導は料金が高く、親にも負担をかけてしまいます。 でも、個別指導塾には行きたいです。 定期テスト前には全教科対応してくれる塾が多いので、 本音を言うと週2回行きたいですが、週1回でいいです。 もし週1回、1教科にするとしたら、英語か数学で迷っています。 どちらも、テストの点数は同じぐらい悪いので、選べないんです。 習わない教科については、長期講習やテスト対策のときでいいかな…と思っています。 集団に行けば、どっちも行けるんですけど、集団は性格上嫌で…。 英語と数学、どちらの方が良いと思いますか? くだらない質問ですいません。。。

  • いただくの尊敬語

    質問です。 「いただく」の尊敬語は?と聞かれたら、どう答えるのが正しいのでしょうか? 1.「食べる」の場合→召し上がる 2.「もらう」の場合→お受け取りになる?下さる?おもらいになる? 1.は問題ないのですが、2.については、いくつかのHPや書籍をあたってみたのですが、どれが正しいのか判断できませんでした。 中学校のテストで答える場合の、正しい答えをご存知の方がいれば、ぜひ、教えてください。

  • Excelファイルの取込およびテキストファイルへの出力

    はじめて質問させて頂きます。yu_ki0223と申します。 Excel2000のVBAにて、以下のような事をしたいと考えています。 参考となるようなホームページもしくはサンプルプログラム等ありましたら お教えいただきたく宜しくお願い致します。 ■質問 あるExcelの表を取込み、判断対象となる列Aの値が「判断対象1」だった場合、 「判断対象1」に連動する列Bの値をテキストファイルに出力し、改行する。 また、列Aの値が「判断対象3」の場合のみ、列Bの値を返さず『テスト3』と 別の文字を出力し、改行する。 【列Aの値】 ・判断対象1 ・判断対象2 ・判断対象3 【列Bの値】 ・TEST1 ・TEST2 ・TEST3

  • 学校の英語のテストのことです

    このあいだ英語のテストがかえってきたんですが、 そのテストの問題で 「自分は今テレビを見ていない」という問題があり、 I am not wotching TV now が答えでした。これはなんで do notではなくnotなんですか? 低レベルな質問ですいません

  • 私はブラックマヨネーズ(特に吉田さん)が大好きでよくテレビで彼らが活躍

    私はブラックマヨネーズ(特に吉田さん)が大好きでよくテレビで彼らが活躍している姿を拝見させて頂いているのですが、少し気になる事があります。彼らはよくパネラーとして番組に出演していますが(ホンマでっかTVやイチハチ等)、そこでの吉田さんの発言は毎回爆笑ものです。そして何かクイズを出されたときもわざとボケて爆笑をとっていますが、あれってカンペとかで用意されているのですか?そういうクイズは答えはカンペで出されていて、その答えを言う前のボケの答えはその場その場で芸人さんなりが即興で考えていると思います。ただ吉田さんのは毎回おもしろすぎます。私は彼を尊敬していますし、すごく「面白い人」だと感じております。だからあんな答えを一瞬で出せるのでしょうか?気になったので、今回質問させて頂きました。

  • アラート表示について

    済みません、ご教授下さい。 あるクイズを作成しております。 そこで、ラジオボタンにて2択として、どちらかを選択して「判定する」ボタンをクリックします。 正しければ次のページへ遷移、間違っていれば「はずれ」などの アラートをだしたいのです。 ラジオボタンのバリューにどんな値を設定をすればよいのか? また、JSの書き方を教えて下さい。 よろしくお願いします。

  • 各予備校の行っている難関大学模擬試験をやってみたいのです。

    以前大学受験関連で質問させていただいた者ですが、内容が異なると判断したため、今回の質問は別で投稿させていただきました。 宜しくお願いいたします。 各予備校が行っている国立二次試験の模擬テストをやりたいのですが、それはセンター模試のように出版されていたり、HP上で公開されていたりするものなのでしょうか。 書店を見てみると、東大・京都大レベルのものはあったのですが、少しレベルが高すぎるので、筑波などのレベルの大学に合った模擬テストを探しています。今の時期では、どこで手に入れることができるのでしょうか。 宜しくお願いいたします。