WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:クイズ

shin [URL] [WriteDate : Mon Dec 25 13:39:50 2000]

4択クイズで正解しないと次の問題へ進めないクイズを作りたいのですが、どのようなタグを入力すればいいのか教えてください。

バギンズ [MAIL] [URL] [WriteDate : Mon Dec 25 14:21:59 2000]

>どのようなタグを入力すればいいのか教えてください。 
「クイズ用のタグなんてありません。」って言われそうな勢いですね。(^_^;)

正直言って、どっかでクイズのスクリプトを探してきて問題だけ入れ替えたほうがいいんじゃないですか?

どこかで入手したスクリプトに「機能を追加したい」とか、「部分的な処理の意味を教えて欲しい」って事なら答えられるかもしれませんが、ここでの質問だけで一からクイズを作り上げようなんて無茶だと思いますよ。

ヴォルグ [WriteDate : Mon Dec 25 14:46:30 2000]

optionタグで選択方式でCGIか、JAVASCRIPTっていう手もあると思いますが、バギンズさんの例が、一番良いかと思いますね。

shin [URL] [WriteDate : Tue Dec 26 01:07:10 2000]

すいません、javascript初心者なもので質問の仕方に慣れていなくて
問題は以下のソースなんですが。
http://www.geocities.co.jp/HeartLand-Oak/9519/quiz02.html
このソースのままだとはずれ(空白)でも次の問題に行けますよね。
(次の問題のクリックボタンを押すと次のページに行けますがこのクリックボタンは削除する予定です。)
あたりが出るまで次の問題に行けないようにしたいのですが。どういうコマンドを追加したらいいですか?
>バギンズさんこういう質問の仕方なら答えてもらえますか?

shin [URL] [WriteDate : Tue Dec 26 01:15:21 2000]

すいません。これが問題のページのソースです。
<!--・-->
<HEAD><title>SPI対策</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function showRiddle( ){
    var msg = "120円切手を何枚買いましたか?";
    ans = prompt( msg, "" );
    if( ans == "13" ){
        document.riddle.msgArea.value = "あたり!!";
    }else{
        document.riddle.msgArea.value = "はずれ!!";
    }
}
//-->

<!--
function jumpPage(url){
    location.href = url
}
//-->
</SCRIPT>
<style type="text/css">
<!--
BODY{background:url(bg02.gif) repeat-y}
-->
</style>

</HEAD>
<BODY"><body text="#000000"><DIV ALIGN=CENTER><!--#geoguide--></DIV>
<strong>SPIクイズ</strong>
<HR>
<BR><FONT COLOR="RED">(問題)</FONT>
62円の切手より120円の切手の方が8枚多く
<br>なるように62円切手と120円切手を買ったら、
<BR>代金は1870円でした。120円切手を何枚買いましたか。
<FORM NAME="riddle">
クイズに挑戦する人は「挑戦」ボタンを押してください。
<INPUT TYPE="button" NAME="btn" VALUE="挑戦" onClick="showRiddle()">
<INPUT TYPE="text" SIZE="30" NAME="msgArea" VALUE="ここに結果が表示されます">
</FORM>
<br>今度の問題は半角数字のみでお答えください。
<FORM>
<INPUT TYPE="button" NAME="btn1"
    VALUE="次の問題へ"
    onClick="jumpPage( 'quiz03.html' )">
</FORM>
</font>
</BODY>
返答お待ちしています。

バギンズ [WriteDate : Tue Dec 26 04:14:11 2000]

>バギンズさんこういう質問の仕方なら答えてもらえますか? 
はい、こーいう質問なら、答えやすいです。(^_^)

>あたりが出るまで次の問題に行けないようにしたいのですが。どういうコマンドを追加したらいいですか? 
「何か条件を満たすまで」という場合はフラグを使います。
フラグっていっても単なる変数です。
こんな感じ。(変数Correctに注意)


var Correct = 0;
function showRiddle( ){ 
    var msg = "120円切手を何枚買いましたか?"; 
    ans = prompt( msg, "" ); 
    if( ans == "13" ){ 
        document.riddle.msgArea.value = "あたり!!"; 
        Correct = 1;
    }else{ 
        document.riddle.msgArea.value = "はずれ!!"; 
    } 

function jumpPage(url){ 
    if (Correct) location.href = url;



あと、SCRIPT内の
<!-- 
//-->
がへんなところに入っていますが、そもそも
<!-- 
//-->
自体いらないです。(慣例に近いものだから)
JavaScriptが全く使えないブラウザでも、よほど古い物じゃなければSCRIPT要素だけではじいてくれます。
まぁ、JavaScript必須ページでJavaScript無効を考える必要もなさげですし。

バギンズ [WriteDate : Tue Dec 26 04:43:46 2000]

あっそうそう、4択に対する回答を忘れていました。(^_^;)

私は、4択ならINPUT TYPE=radioを使うのがいいと思います。
この場合は、フラグは必要ありません。
正解のラジオボタンがチェックされていたら、次へ進むのでいいと思います。
選択問題の場合、不正解だったら最初に戻るとかも入れておかないと意味無いでしょうけど...

よくあるのは、3問外れたら失格にするとか、とりあえず全部の問題をやらせて正解数を表示するとかですね。

そーいう方法を知る意味でも、他人が作ったクイズのスクリプトを参考にするのはお勧めなんですけどねー...

shin [URL] [WriteDate : Tue Dec 26 18:00:05 2000]

返答ありがとうございます。このスクリプトも他のページを参考にしたものなんですよ。
回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]