CGIでラジオボタンの選択結果を保持する方法

このQ&Aのポイント
  • CGIでラジオボタンの選択結果を保持する方法について説明します。具体的には、質問文章で複数の質問とラジオボタンがあり、それぞれの選択結果に応じて最終ページで表示を変えたい場合の方法について考えます。
  • まず、一つ前のページで選択した結果を次のページに反映させる方法は、<input type='hidden'>を使用することです。質問ページで選択した値を<hidden>タグで次のページに送信し、次のページで受け取った値を表示させることができます。
  • しかし、複数のページを経由して選択結果を保持し、最終ページで表示する場合は、より複雑なロジックが必要になります。例えば、質問によっては次のページが異なる場合や、複数の質問に対して条件分岐する必要がある場合などが考えられます。
回答を見る
  • ベストアンサー

CGIでラジオボタンの選択結果を保持する

http://okwave.jp/qa/q8211303.html 上記質問の続きです。 Q1,Q2,Q3・・・と質問をいくつか用意し、 それぞれで選択したラジオボタンによって、最終ページに表示させる回答を変えたいです。 ひとつ前のページで選択したものを次ページに反映させることはなんとかできたのですが 何ページも前に選択した回答を、最終ページに反映させる方法がわかりません。 <input type="hidden"を使うところまでは教えていただいたのですが 具体的にどうしていいかわかりません。 参考サイト等ありましたら教えていただけますでしょうか。 よろしくお願いいたします! ちなみに作成方法は以下のような感じです。 【Q1】 <form name="q1" action="com.cgi" method="POST"> <input type="hidden" name="stage" value="q1" /> <ol> <li><input type="radio" name="q11" value="q11_a"> 犬がすき</li> <li><input type="radio" name="q11" value="q11_b"> 猫がすき</li> <li><input type="radio" name="q11" value="q11_c"> うさぎがすき</li> </ol> <ol> <li><input type="radio" name="q12" value="q12_a"> 右利き</li> <li><input type="radio" name="q12" value="q12_b"> 左利き</li> </ol> <input type="submit" value="次へ" /> 【Q2】 <form name="q2" action="com.cgi" method="POST"> <input type="hidden" name="stage" value="q2" /> <ol> <li><input type="radio" name="q21" value="q21_a"> 海がすき</li> <li><input type="radio" name="q21" value="q21_b"> 山がすき</li> <li><input type="radio" name="q21" value="q21_c"> 散歩がすき</li> </ol> <input type="submit" value="次へ" /> 【Q3】 <form name="q3" action="com.cgi" method="POST"> <input type="hidden" name="stage" value="q3" /> <ol> <li><input type="radio" name="q31" value="q31_a"> 男性</li> <li><input type="radio" name="q31" value="q31_b"> 女性</li> </ol> <ol> <li><input type="radio" name="q32" value="q32_a"> 既婚</li> <li><input type="radio" name="q32" value="q32_b"> 未婚</li> </ol> <input type="submit" value="判定" /> 【最終ページ】 「あなたは犬がすきで右利きですね」 「あなたは海がすきですね」 「あなたは女性で既婚ですね」 と表示させたいです。 実際には、Q1→Q2→Q3と順番にページが飛ぶのではなく、 この答えだったら次はこのページ、それ以外は別のページ、 といった感じで、様々なページに飛びます。 以下のような感じで条件分岐を書いています。 if ($stage eq "q1") { if ($q11 eq "q11_a") { Q2(); } elsif ($q11 eq "q11_c") { ・・・; } elsif ($q12 eq "q12_b") { Q3(); } else { ・・・; } } よろしくお願いいたします!

  • CGI
  • 回答数12
  • ありがとう数13

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.8

ちょっと手を加えてみた。 1) ./html/NQ3.htmlは./html/FQ3.htmlに名称変更 2) ERRORを補足するためBIGIN{}を加えた。 3) きちんとHTMLが出力されることを確認したら必ず削除 #!/usr/local/bin/perl BEGIN{ $| = 1; print "Content-type: text/plain\n\n"; open(STDERR, ">&STDOUT"); } use strict; my $SECTION = "\t<section>\n"; read(STDIN, my $buffer, $ENV{'CONTENT_LENGTH'}); my $HTML ="/index.html"; my $PATH = '/Q1.html'; my @pairs = split(/&/,$buffer); my $meter_value ="1"; my %FORM = (); my ($pair,$STYLE,$MESSAGE,$INFORM); foreach $pair (@pairs) { _my ($name, $value) = split(/=/, $pair); _$FORM{$name}=$value; _$INFORM .= "\t\t\t<input type=\"hidden\" name=\"$name\" value=\"$value\">\n"; } if($FORM{'Q3'} && $FORM{'Q2'} && $FORM{'Q1'}){ _$MESSAGE="回答です。"; _$STYLE = "section p{font-size:2em;text-indent:1em;padding:0.5em 1em;"; } else{ _$MESSAGE="下記の質問にお答えください。"; _$STYLE = "section{background-color:silver;"; } if($FORM{'Q3'} eq "W"){ _if($FORM{'Q2'} eq "M"){ __$SECTION .=qq^\t\t<p>あなたは、西日本生まれの既婚男性です。</p>\n^; __$STYLE .= "background-color:blue;color:white;}"; _} _else{$SECTION .= qq^\t\t<p>あなたは、西日本生まれ未婚男性です。</p>\n^; __$STYLE .= "background-color:aqua;"; _} } elsif($FORM{'Q3'} eq "E"){ _if($FORM{'Q2'} eq "M"){ __$SECTION .=qq^\t\t<p>あなたは、東日本生まれの既婚男性です。</p>\n^; __$STYLE .= "background-color:green;"; _} _else{ __$SECTION .= qq^\t\t<p>あなたは、東日本生まれ未婚男性です。</p>\n^; __$STYLE .= "background-color:lime;"; _} } elsif($FORM{'Q3'} eq "F"){ _if($FORM{'Q2'} eq "M"){ __$SECTION .=qq^\t\t<p>あなたは、太った既婚女性です。</p>\n^; __$STYLE .= "background-color:yellow;"; _} _else{ __$SECTION .= qq^\t\t<p>あなたは、太った未婚女性です。</p>\n^; __$STYLE .= "background-color:orange;"; _} } elsif($FORM{'Q3'} eq "S"){ _if($FORM{'Q2'} eq "M"){ __$SECTION .=qq^\t\t<p>あなたは、痩せた既婚女性です。</p>\n^; __$STYLE .= "background-color:red;"; _} _else{ __$SECTION .=qq^\t\t<p>あなたは、痩せた未婚女性です。</p>\n^; __$STYLE .= "background-color:fuchsia;"; _} } else{ _if($FORM{'Q2'} eq "M" || $FORM{'Q2'} eq 'N'){ __$meter_value = '0.67'; __$PATH = '/answer.html'; __if($FORM{'Q1'} eq 'M'){$HTML = 'MQ3.html';} __else{$HTML = 'FQ3.html';} _} _elsif($FORM{'Q1'} eq "M" || $FORM{'Q1'} eq "F"){ __$meter_value = '0.33'; __$HTML = 'Q2.html';$PATH = '/Q3.html'; _} _elsif($FORM{'Q0'} eq "ok"){ __$meter_value = '0.2'; __$HTML = 'Q1.html';$PATH = '/Q2.html'; _} _else{ __if($FORM{'Q1'} eq ""){$MESSAGE .= "</p>\n\t\t\t<p>データがありません\n";} __$meter_value ="0"; __$PATH = '/Q1.html'; _} } my $FORM = "\t\t\t<form action=\"$ENV{'SCRIPT_NAME'}$PATH\" method=\"post\">\n$INFORM"; open(IN,"<./html/$HTML"); while(my $line = <IN>){$FORM .= "$line";} close IN; if($FORM{'Q0'} eq ""){$FORM .= "\t\t\t<p><input type=\"submit\" value=\"つづける\"></p>\n\t\t</form>\n";} elsif($FORM{'Q3'} ne ""){$FORM ="";} else{$FORM .= "\t\t\t<p><input type=\"submit\" value=\"送信\"></p>\n\t\t</form>\n";} $SECTION .= $FORM."\t\t</section>\n"; my $METER = "\t\t\t<p class=\"meter\"><meter value=\"$meter_value\">$meter_value</meter></p>"; print "content-type:text/html\n\n"; while(<DATA>){ _s/<!-- meter -->/$METER/; _s/\/\* style \*\//$STYLE/; _s/<!-- Message -->/$MESSAGE/; _s/<!-- Section -->/$SECTION/; _print; } __END__ <!doctype html> <html> <head> <meta charset="utf-8"> <title>サンプル</title> <style media="screen"> <!-- html,body{margin:0;padding:0;background-color:gray;} header,section,footer{width:50%;margin:0 auto;padding:5px 10px;background-color:white;} p.meter{font-size:2em;text-align:center;} /* style */ --> </style> </head> <body> _<header> __<h1 id="title">Your title</h1> __<p><!-- Message --></p> <!-- meter --> _</header> <!-- Section --> _<footer> __<h3>A nice footer</h3> _</footer> </body> </html>

masunona
質問者

お礼

すみません・・・最上部のお礼の補足の補足です。 「文字化けして」と書きましたが 正確には 「chromeだと文字化けして、IEとFirefoxでは文字化けせずにそのまま」 でした。 あせってお礼してしまったためすみません。 よろしくお願いいたします!

その他の回答 (11)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

というより、  ⇒CGIで得た内容をHTMlページに代入 - CGI - 教えて!goo( http://okwave.jp/qa/q8217674.html ) ですね。  送られてきたデータは、それがhiddenだろうがradioだろうが、全く区別はありませんから、そのまま得られたデータを、 $FORM{$name}=$value; $hidden .= "<input type=\"hidden\" name=\"$name\" value=\"$value\">"; とでもして代入しておけば、良いですよ。  上記では、60から70行目あたりで $HIDDEN .="<input type=\"hidden\" name=\"Q2\" value=\"$FORM{'Q2'}\"><input type=\"hidden\" name=\"Q1\" value=\"$FORM{'Q1'}\">"; としていますが、それも同様のことをしています。

masunona
質問者

お礼

ありがとうございます!重複した質問をしてしまって申し訳ありません。 CGIの初心者でよくわかっていないのですが いただいたコードはページは飛ばず、ひとつのページ内に いくつか質問が表示されているものなのかな?と思いました。 (違ってたらすみません) 以下の点について質問させてください。 Q1ページに「次へ」ボタンを設置しQ2へ飛ぶようにしています。 Q2ページでQ1の回答を表示させることはできたのですが、 その後Q2ページからQ3ページに飛んだとき、 Q3ページにQ1ページの回答を表示させることができませんでした。 Q2,Q3ページのCGIは以下のように書きました。 (目で見てデータが飛んでるかわかるように <input type="hidden"でなく<input type="text"を使いました。) print <<Q2; <html> <head> <title></title> </head> <body> ・・・ <input type="text" name="q11a" value="$q11" />★ <input type="text" name="q12a" value="$q12" />★ ・・・ </body> </html> Q2 ↑★部分には、Q1で選択した回答が表示されました。 print <<Q3; <html> <head> <title></title> </head> <body> ・・・ <input type="text" name="q11a" value="$q11" />☆ <input type="text" name="q12a" value="$q12" />☆ <input type="text" name="q21a" value="$q21" />★ <input type="text" name="q22a" value="$q22" />★ <input type="text" name="q23a" value="$q23" />★ ・・・ </body> </html> Q3 ↑★部分には、Q2で選択した回答が表示されましたが ☆部分は空欄のままでした。 どのようにしたら前の前のページの回答が表示されますか? 引き続きお願いいたします!

関連するQ&A

  • ラジオボタンについて

    ラジオボタンのnameにそれぞれ違う名前をつけても 選択の制限を1つだけにできるやり方はありませんか? 例 <input type="hidden" name="a1" value="0151" /> <input name="a" type="radio" value="1" /> <input type="hidden" name="b1" value="0152" /> <input name="b" type="radio" value="1" /> <input type="hidden" name="c1" value="0153" /> <input name="c" type="radio" value="1" /> 私がやりたいことはあるプログラムシステムで使用するため ラジオボタンの上にhiddenでそれぞれ指定してるため このような形で表示できないかと、おもっています。

    • ベストアンサー
    • HTML
  • ラジオボタンでうまくするには・・・・

    初めまして。 現在下記のプルダウン形式で、一つの価格が同じなので問題なく動くのですが <FORM action="cart/sys/cart.cgi" method="post"> <INPUT type=hidden value=005 name=num> <INPUT type=hidden value=●●● name=name> <INPUT type=hidden value=2000 name=tan> <SELECT name=sur> <OPTION value="" selected>購入数量</OPTION> <OPTION value=1>1</OPTION> <OPTION value=2>2</OPTION> <OPTION value=3>3</OPTION> <OPTION value=4>4</OPTION> <OPTION value=5>5</SELECT> <INPUT type=submit value=カートに入れる> </FORM><BR> <FORM action="・・・/cart.cgi" method="post"> <INPUT type=hidden value=005 name=num> <INPUT type=hidden value=●●● name=name> <INPUT type=hidden value=2000 name=tan> </FORM> 同じ商品で1・2・3・4・5のそれぞれに単価が変わる設定をしたいのですが、うまくいく方法が見つからないです。 ラジオボタン形式で作ってみたものの・・・・ <FORM action="・・・/cart.cgi" method="post"> <INPUT type=hidden value=005 name=num> <INPUT type=hidden value=●●● name=name> <INPUT type=submit value=カートに入れる> </FORM> <FORM> <INPUT type="radio" name="name1" value="2000">1袋<BR> <INPUT type="radio" name="name1" value="3900">2袋<BR> <INPUT type="radio" name="name1" value="5800">3袋<BR> <INPUT type="radio" name="name1" value="7500">4袋<BR> <INPUT type="radio" name="name1" value="8500">5袋</FORM> としてみましたがうまくいきません。 なにか方法ございましたら、ご教授いただければと思います。

    • ベストアンサー
    • HTML
  • (jQuery)ラジオボタン選択値を配列で送信

    ちょっと前に別の方の同名の質問があり、正しい回答が出る前に、例によって不適切な回答で閉め切られてしまったため、失礼とは存じますが改めて質問させていただきます。 <form id="enqe" action="/hoge/enqe" method="post"> <label for="group_a">好きなフレームワーク</label> <input type="radio" name="group_a" value="a1">cake php</input> <input type="radio" name="group_a" value="a2">fuel php</input> <input type="radio" name="group_a" value="a3">symphony</input> <label for="group_b">使っているOS</label> <input type="radio" name="group_b" value="b1">windows</input> <input type="radio" name="group_b" value="b2">macintosh</input> <input type="radio" name="group_b" value="b3">linux</input> <label for="group_c">使っているCPU</label> <input type="radio" name="group_c" value="c1">ivy bridge</input> <input type="radio" name="group_c" value="c2">sandy bridge</input> </form> のような選択肢があって、選択値を配列で送信したいです。 配列で受けたい理由は、送信側のフォーム(項目、グループ分け)が逐次追加変更される予定で、それに合わせてDBだけを変更して対応したいからです。 したがって、「毎度サーバサイドで対応しろ」という回答は困ります。 <input type="hidden" name="gval[]" value="a1" /> <input type="hidden" name="gval[]" value="b2" /> <input type="hidden" name="gval[]" value="c3" /> という内容を生成して送信すればいいのはわかりますが、どう記述したらいいかがわかりません。 いちおうjQueryで、 $('form#enqe').submit(function(){ // $(this).find("input[type='radio']"); で、<input type="radio">を取得 }); まではわかりましたが、jQueryに疎く、その先がわかりません。 識者の方々のお力をお借りできれば幸いです。

  • CGIでチェックボックスのエラーチェック

    下記のような感じで チェックボックスをいくつか配置し、CGIで動かしています。 それぞれの質問に関して未選択がある場合、 メッセージボックスで「未選択があります」と表示させたいです。 できればjavascriptでなくCGIでやりたいです。 どのようにコードを書けばいいですか? ためしに以下のように書いてみましたがだめでした。 ・・・ elsif ($q1 eq "" && $q2 eq "") { &error($error = "すべての項目に回答して下さい"); } ・・・ お願いいたします! <form name="q1" action="test.cgi" method="POST"> Q1 <input type="radio" name="q1" value="q1_a"> A <input type="radio" name="q1" value="q1_b"> B <input type="radio" name="q1" value="q1_c"> C Q2 <input type="radio" name="q2" value="q2_a"> D <input type="radio" name="q2" value="q2_b"> E <input type="radio" name="q2" value="q2_c"> F </form>

    • ベストアンサー
    • CGI
  • ラジオボタンの内容を受けてCGIでコメント表示

    あるhtmlページにラジオボタンを設置しています。 このボタンを選択したらこのページ、このボタンの場合はこのページ、 と、CGIを使って、選択したボタンによってさまざまなページにジャンプさせています。 最後に、判定結果を掲載するページとして、 インラインフレームを設置し、そのなかにcgiを読み込ませて 選択したラジオボタンによってそのなかに表示させるコメントを変えたいです。 Q1でaを選んだ場合はこのコメント、 Q2でbを選んだ場合はこのコメント、 と、拾ってくる質問が記載されているhtmlページが複数にわたります。 以下でいう、test2.cgiは、どのように記述したらいいでしょうか? サンプルコードなど掲載されているサイトがあったら教えてください。 <ラジオボタンが設置してあるhtmlページ> <form name="q1" action="test1.cgi" method="POST"> 質問 <input type="radio" name="q1" value="q1_a">回答a <input type="radio" name="q1" value="q1_b">回答b <input type="radio" name="q1" value="q1_c">回答c <input type="submit" value="判定" /> <コメントを表示させるhtmlページ> 判定結果をお知らせします <div id="frame"> <iframe src="test2.cgi" title="判定結果"> </iframe>

    • ベストアンサー
    • CGI
  • Javascriptの結果の出し方で困っています。

    自分のサイトにチェッカーを入れたくて下記の記述を書きました。 <script> function calc(f){ var sum=0; for(var i=0;i<f.length;i++){ if(f[i].type=="radio" && f[i].checked) sum+=parseInt(f[i].value); } f.judge.value=sum; } </script> <form action="chekker/" method="post"> <ol> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q1" id="Q1_1" value="2"><label for="Q1_1">はい</label> <input type="radio" name="Q1" id="Q1_2" value="0"><label for="Q1_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q2" id="Q2_1" value="2"><label for="Q2_1">はい</label> <input type="radio" name="Q2" id="Q2_2" value="0"><label for="Q2_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q3" id="Q3_1" value="2"><label for="Q3_1">はい</label> <input type="radio" name="Q3" id="Q3_2" value="0"><label for="Q3_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q4" id="Q4_1" value="2"><label for="Q4_1">はい</label> <input type="radio" name="Q4" id="Q4_2" value="0"><label for="Q4_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q5" id="Q5_1" value="2"><label for="Q5_1">はい</label> <input type="radio" name="Q5" id="Q5_2" value="0"><label for="Q5_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q6" id="Q6_1" value="2"><label for="Q6_1">はい</label> <input type="radio" name="Q6" id="Q6_2" value="0"><label for="Q6_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q7" id="Q7_1" value="2"><label for="Q7_1">はい</label> <input type="radio" name="Q7" id="Q7_2" value="0"><label for="Q7_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q8" id="Q8_1" value="2"><label for="Q8_1">はい</label> <input type="radio" name="Q8" id="Q8_2" value="0"><label for="Q8_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q9" id="Q9_1" value="2"><label for="Q9_1">はい</label> <input type="radio" name="Q9" id="Q9_2" value="0"><label for="Q9_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q10" id="Q10_1" value="2"><label for="Q10_1">はい</label> <input type="radio" name="Q10" id="Q10_2" value="0"><label for="Q10_2">いいえ</label> </ol> <center> <p><font size="+1" color="#FF0000"><b>採点!!</b></font></p> <input type="text" name="judge" value="0" SIZE="10"> <input type="button" value="採点する" onClick="calc(this.form)"> </p></center> </form> はいが2点、いいえが0点とします。 この記述方法だと、テキストボックスに点数の合計が記載されてしまいます。 別ページに点数の合計を呼び出したいのですが、どうすればいいのでしょうか。 ※ページの内容で中身が変わるわけではなく、点数の結果を表示したいです。 ※呼び出す際のコードも記載していただけたらありがたいです ※結果のページをkekka.htmlとします。 初心者なのでどうしたらいいのか分かりません。よろしくお願いします。

  • Javascriptの結果の出し方で困っています

    自分のサイトにチェッカーを入れたくて下記の記述を書きました。 <script> function calc(f){ var sum=0; for(var i=0;i<f.length;i++){ if(f[i].type=="radio" && f[i].checked) sum+=parseInt(f[i].value); } f.judge.value=sum; } </script> <form action="chekker/" method="post"> <ol> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q1" id="Q1_1" value="2"><label for="Q1_1">はい</label> <input type="radio" name="Q1" id="Q1_2" value="0"><label for="Q1_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q2" id="Q2_1" value="2"><label for="Q2_1">はい</label> <input type="radio" name="Q2" id="Q2_2" value="0"><label for="Q2_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q3" id="Q3_1" value="2"><label for="Q3_1">はい</label> <input type="radio" name="Q3" id="Q3_2" value="0"><label for="Q3_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q4" id="Q4_1" value="2"><label for="Q4_1">はい</label> <input type="radio" name="Q4" id="Q4_2" value="0"><label for="Q4_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q5" id="Q5_1" value="2"><label for="Q5_1">はい</label> <input type="radio" name="Q5" id="Q5_2" value="0"><label for="Q5_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q6" id="Q6_1" value="2"><label for="Q6_1">はい</label> <input type="radio" name="Q6" id="Q6_2" value="0"><label for="Q6_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q7" id="Q7_1" value="2"><label for="Q7_1">はい</label> <input type="radio" name="Q7" id="Q7_2" value="0"><label for="Q7_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q8" id="Q8_1" value="2"><label for="Q8_1">はい</label> <input type="radio" name="Q8" id="Q8_2" value="0"><label for="Q8_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q9" id="Q9_1" value="2"><label for="Q9_1">はい</label> <input type="radio" name="Q9" id="Q9_2" value="0"><label for="Q9_2">いいえ</label> <br><br> <li>aaaaaaaaaaaaa<br> <input type="radio" name="Q10" id="Q10_1" value="2"><label for="Q10_1">はい</label> <input type="radio" name="Q10" id="Q10_2" value="0"><label for="Q10_2">いいえ</label> </ol> <center> <p><font size="+1" color="#FF0000"><b>採点!!</b></font></p> <input type="text" name="judge" value="0" SIZE="10"> <input type="button" value="採点する" onClick="calc(this.form);window.open('kekka.html','windowname');"> </p></center> </form> はいが2点、いいえが0点とします。 この記述方法だと、テキストボックスに点数の合計が記載されてしまいます。 別ページのテキストボックス内に点数の合計を呼び出したいのですが、どうすればいいのでしょうか。 出来れば呼び出す際のソースコードなどもすべて記載していただけるとありがたいです。 ※ページの内容で中身が変わるわけではなく、点数の結果を表示したいです。 ※呼び出す際のコードも記載していただけたらありがたいです ※結果のページをkekka.htmlとします。 初心者なのでどうしたらいいのか分かりません。よろしくお願いします。

  • ラジオボタンを選択すると、他のラジオボタンの動きを制御したい

    radio1~radio3のいずれか「はい」を選択すると、 その他が強制的に「いいえ」に切り替わるスクリプトはどのように作成すればよろしいでしょうか? <INPUT TYPE=radio NAME="radio1" VALUE="1">はい <INPUT TYPE=radio NAME="radio1" VALUE="2">いいえ <INPUT TYPE=radio NAME="radio2" VALUE="1">はい <INPUT TYPE=radio NAME="radio2" VALUE="2">いいえ <INPUT TYPE=radio NAME="radio3" VALUE="1">はい <INPUT TYPE=radio NAME="radio3" VALUE="2">いいえ

  • 複数のラジオボタンのチェック

    複数のラジオボタンが全て選択されているかどうかのチェックのJavaScriptをすっきりした形で書くのは、どうしたらいいでしょうか? 下記のようですと、ダラダラと記述するようになってしまいます。 どなたかご教授ください。 --------------------------------------- <script type="text/javascript"> function insert_onClick() { j=0; for (i=0 ;i < document.F1.a11.length ; i++){ if (document.F1.a11[i].checked) { j=1; } } } </script> <form action="check.php" name="F1" onsubmit="return insert_onClick()"> 各valueは0~4まであります <input type="radio" name="a11" value="0"> <input type="radio" name="a12" value="0"> <input type="radio" name="a21" value="0"> <input type="radio" name="a22" value="0"> <input type="radio" name="b11" value="0"> <input type="radio" name="b12" value="0"> <input type="radio" name="b21" value="0"> <input type="radio" name="b22" value="0"> ---------------------------------------

  • ラジオボタンの選択で解答・点数を表示する

    10問のテストを作成しています。 (1)選択肢はラジオボタンで3択(正解は10点、その他0点) (2)採点をクリックすると、テキストボックスに○×の結果を出し、もう一つ別のテキストボックスに×の場合は正しし解答を表示 (3)アラートで「あなたの点数は~~点」と出す (4)FORM1.2のSCOREに点数を表示 以上のようにしたいと思い、下記のように作りました。 まだ初心者のため、長々と同じことを書くことしか分からないので、もっと簡単にまとめられる方法がありましたら、教えてください。 よろしくお願いいたします。 function dispscore() { var score=0; if (document.form1.q0[0].checked) { score += 10; document.form1.r0.value = "○"; } else{ document.form1.r0.value = "×"; document.form1.a0.value = "ナイル川"; } if (document.form1.q1[2].checked) { score += 10; document.form1.r1.value = "○"; } else{ document.form1.r1.value = "×"; document.form1.a1.value = "バチカン市国"; } alert("点数は " + score + " 点 です "); document.form1.score.value=score document.form2.score.value=score } ------------------------------------------------------------ <INPUT type=radio name="q1" value="10">ナイル川 <INPUT type=radio name="q1" value="0">ミシシッピー川 <INPUT type=radio name="q1 value="0">アマゾン川> <INPUT size="3" name="r1" type="text"> <INPUT size="25" name="a1" type="text"> <INPUT type=radio name="q2" value="0">バルカン市国 <INPUT type=radio name="q2" value="0">バルタン市国 <INPUT type=radio name="q2" value="10">バチカン市国 <INPUT size="3" name="r2" type="text"> <INPUT size="25" name="a2" type="text">

専門家に質問してみよう