プルダウンメニューの戻り値を選択状態にする方法

このQ&Aのポイント
  • CGI(perl)で作成中のアンケートフォームで、最初のページにプルダウンメニューがあります。確認画面から最初のページに戻った際、前に選択した項目が選択状態になる方法について教えてください。
  • プルダウンメニューの戻り値を選択状態にするには、cookieやjavascriptのhistryback()を使わずに行うことができます。デコードの処理の中でforeachを使用しますが、具体的な方法については詳細がわかりません。
  • プルダウンメニューの戻り値を選択状態にする方法について教えてください。cookieやjavascriptのhistryback()は使用せず、デコードの処理の中でforeachを使用して行う方法が知りたいです。
回答を見る
  • ベストアンサー

前のページへ戻ったときのプルダウンメニューの戻り値を選択した状態にしたい。

こんにちわ。CGI(perl)でアンケートフォームを作成中です。最初のページにoptionタグのプルダウンから選択する項目があります。確認画面から最初のページへ戻るときにプルダウンが選択された状態にするにはどう記述したらいいのでしょうか?たとえば、以下のソースのプルダウンで、青をチェックした後、次ページへ行きます。確認画面で、入力ミスにきづき、最初のページに戻ったときに、普通なら選択項目がデフォルトの「お選びください」になると思うのですが、戻ったときに最初に選択した、「青」が選択されている状態にしたいのです。cookieとjavascriptのhistryback()は使わずにできますか? やり方をご存知の方、ぜひ教えてください。よろしくお願いいたします。デコードの処理の中でforeachを使うまでは調べたのですが、そのあとがわかりません。。 sub top{ print <<EOF; <html> <head> <meta content="text/html; charset=shift_jis"> <title></title> </head> <body> □好きな色は<br> <select name="iro" size="1" value="iro"> <option value="0">お選びください。 <option value="1">赤 <option value="2">黄 <option value="3">青 </select> <br><br> <input type="hidden" name="action" value="kakunin"> <input value="次へ" type="submit"> <br> </form> </body> </html> EOF }

  • CGI
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • omni2
  • ベストアンサー率53% (33/62)
回答No.1

まず、選択された色の<option value=>のvalue値を $iroなどの変数に保存しておいて、次のようにすればいいのではないでしょうか? print <<EOF; <html> <head> <meta content="text/html; charset=shift_jis"> <title></title> </head> <body> □好きな色は<br> <select name="iro" size="1" value="iro"> EOF my @color=("お選びください","赤","黄","青"); foreach(0..3){ if($_ eq $iro){print "<option value=\"$_\" selected>$color[$_]";} else{print "<option value=\"$_\">$color[$_]";} } print <<EOF; </select> <br><br> <input type="hidden" name="action" value="kakunin"> <input value="次へ" type="submit"> <br> </form> </body> </html> EOF

関連するQ&A

  • プルダウンメニューで選択しないとカートに入らないようにしたいのですが

    初めまして、宜しくお願い致します。 現在ウェブショップを運営しているのですが、 Aという箱の商品に必ずオプションとして(1)~(3)の商品を二つ選択してもらったうえで「カートに入れるボタン」を押してほしいのですが(Aだけの販売はしていません)、現状では(1)~(3)を何も選択しなくてもAという商品だけをカートに入れられる状態です。 下記ソースの「--選択して下さい--」を選択している状態ではカートに入らない様にするにはどうすれば良いのでしょうか? どなたかご存知な方がいらっしゃいましたらご教授頂けると幸いです。 宜しくお願い致します。 <form name="escart1" action="http://サーバーアドレス" method="post"> 商品の種類: <select name="opt1"> <option value="--選択して下さい--">--選択して下さい--</option> <option value="(1)@@500">(1)500円</option> <option value="(2)@@600">(2)600円</option> <option value="(3)@@700">(3)700円</option> </select> <select name="opt2"> <option value="--選択して下さい--">--選択して下さい--</option> <option value="(1)@@500">(1)500円</option> <option value="(2)@@600">(2)600円</option> <option value="(3)@@700">(3)700円</option> </select> <br>数量: <select name="num"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="image" src="../common/img/btn_cart2.gif" value="submit" alt="カートに入れる" width="164" height="30" /> <input type="hidden" name="sid" value="サーバーID"> <input type="hidden" name="pid" value="商品コード"> </form>

  • <input>の選択肢をプルダウンメニューから受け取り、hiddenで

    <input>の選択肢をプルダウンメニューから受け取り、hiddenで渡したいのですが、どうすればよいでしょうか? ▽プルダウン例 <FORM> <SELECT> <OPTION SELECTED>SELECT</OPTION> <OPTION VALUE="1">A</OPTION> <OPTION VALUE="2">B</OPTION> <OPTION VALUE="3">C</OPTION> </SELECT> </FORM> ↑上で選択した値(A or B or C)値を、↓下のvalue=「"hoge"」に渡したいです。 ※選択肢は3つだけではなくて、たくさんあります。 ▽input例 <input name="hosted_button_id" value="hoge" type="hidden"> http://okwave.jp/qa/q6016233.htmlの質問内容が知りたいことに近かったのですが、value値ではなくて、選択した内容そのものをhiddenへ渡す方法を教えてください。

  • プルダウンメニューのvalue値が00のときアラートを表示したい

    似たような記事が多くそれぞれの回答を試してみたのですが、うまくいかなかったため質問させていただきます。 ただいまテキストBOXとプルダウンメニューで成り立つ入力フォームを作成しています。 そこで、テキストはすべて入力した状態、プルダウンメニューを一番上以外のものを選択した状態でないと次の画面に遷移しないようにしたいのですが、プルダウンメニューの所だけうまくいきません。どうか回答よろしくお願いします。以下にソースをすべて載せておきます。 <html> <head> <title>test</title> <script language="JavaScript"><!-- function check(){ fName = ["id","name","grade","english","math","japanese","science","society"]; for (i=0; i<8; i++){ txt = document.forms[0].elements[fName[i]].value; if (txt == "") { alert("すべての項目を入力してください"); return false; } } var sel; sel = document.forms.school.value; if(sel=="00"){ alert("選択されていない項目があります");//アラート表示 return false; } return true; } // --></script> </head> <body> <form action="student_add1.php" name="forms" method="get" onSubmit="return check()"> 生徒番号:<select name="school"> <option value="00">==学校名==</option> <option value="01">桜中学校</option> <option value="02">紅葉中学校</option> <option value="03">青山中学校</option> <option value="04">高岡中学校</option> <option value="05">中野中学校</option> </select><input type="text" name="id" size="3"><br> 氏名:<input type="text" name="name" size="12"><br> 学年:<input type="text" name="grade" size="2"><br> 模試成績:<br><br>英語:<input type="text" name="english" size="3"> 数学:<input type="text" name="math" size="3"> 国語:<input type="text" name="japanese" size="3"> 理科:<input type="text" name="science" size="3"> 社会:<input type="text" name="society" size="3"><br> <input type="submit" value="送信"> <input type="reset" name="reset" value="リセット"> </form> </body> </html>

  • フレームを使ったプルダウンメニュー

    フレームで「ヘッダー・左メニュー・右メインページ」というように3分割にし、左メニューに置いたプルダウンから項目を選ぶと右メインに表示される、という構造にしたいと思っています。 <HEAD>~</HEAD>内↓ <script language="JavaScript"> function jump(form) { var myindex=form.destination.selectedIndex window.open(form.destination.options[myindex].value, target="main"); } //--> </SCRIPT> プルダウン部分↓ <FORM NAME="form"> <SELECT NAME="destination"> <OPTION VALUE="a.html" SELECTED>あ</OPTION> <OPTION VALUE="k.html">か</OPTION> <OPTION VALUE="s.html">さ</OPTION> <OPTION VALUE="t.html">た</OPTION> <OPTION VALUE="n.html">な</OPTION> </SELECT> <INPUT TYPE="image" SRC="go.gif" onClick="jump(this.form)" BORDER="0"> </FORM> という様に記述した所、例えばプルダウンで「た」を選択した場合、右フレームにちゃんとt.htmlが表示されるのですが、左フレームのプルダウンの項目が「あ」に戻ってしまいます。「た」を選択した状態のまま残したいのですが。 ちなみにボタンに画像を使わず、<INPUT TYPE="button" ・・・・>にするとなぜか「た」選択の状態でちゃんと残ります。でも、できれば画像を使いたいのです。 うまいやり方をご存じの方は、教えていただけますか。おねがいします。

  • ドロップダウンメニューで選択された内容通りにチェックを入れるJS

    ドロップダウンメニューで選択された内容通りにチェックを入れるJS をご教示下さい。 なお、本番環境で対象とするチェックボックスのnameは、全てchkで始まっている法則性があります。 よろしくお願い致します。 <html> <head> <script type="text/javascript"> <!-- // --> </script> </head> <body> <form> <select name="myselect"> <option selected>全てにチェック</option> <option>全てチェック解除</option> <option>奇数だけチェック</option> <option>偶数だけチェック</option> <option>1、6、8番だけチェック</option> <option>3番以降全てチェック</option> </select> <br> <input type="checkbox" value="1" name="chk01" checked>1番<br> <input type="checkbox" value="1" name="chk02" checked>2番<br> <input type="checkbox" value="1" name="chk03" checked>3番<br> <input type="checkbox" value="1" name="chk04" checked>4番<br> <input type="checkbox" value="1" name="chk05" checked>5番<br> <input type="checkbox" value="1" name="chk06" checked>6番<br> <input type="checkbox" value="1" name="chk07" checked>7番<br> <input type="checkbox" value="1" name="chk08" checked>8番<br> <input type="checkbox" value="1" name="chk09" checked>9番<br> <input type="checkbox" value="1" name="chk10" checked>10番 </form> </body> </html>

  • プルダウンの選択値により活性・非活性化したい

    プルダウンの選択値によりその他のプルダウンメニューやテキストエリアを活性・非活性化したいです。 下記の例では「OS」のプルダウンが「Windows」と選択されたならば、「Windowsのバージョン」のプルダウンや「Windowsのサービスパック」のテキストエリアを活性化させ、OSのプルダウンがWindows以外ならば非活性化させたいのですが、どのようにすれば実現可能でしょうか <html> <head> </head> <body> <table> <tr> <td>OS</td> <td><select id="IDOS"> <option value="">-</option> <option value="Windows">Windows</option> <option value="Mac">Mac</option> <option value="Linux">Linux</option></select> </td> </tr> <tr> <td>Windowsのバージョン</td> <td><select id="IDVersion"> <option value="">-</option> <option value="XP">XP</option> <option value="Vista">Vista</option> <option value="7">7</option></select> </td> </tr> <tr> <td>Windowsのサービスパック</td> <td><input type="text" value="" size="30"> </td> </tr> </table> </body> </html> <!-- end footer -->

  • 携帯サイトで他ページに飛ぶプルダウンメニューを作りたいです

    携帯(3キャリア対応)でサイトを作っているのですが、プルダウンメニューを使って 他のページにリンクしたいのですが、この場合はCGIを使うしかない のでしょうか?以下まで作ったのですが、参考になりそうなサイトは すべてCGIかJavaScriptでした。 <form> <select name="表示する月" size=1> <option value="200704.htm">2007年4月 <option value="200703.htm">2007年3月 <option value="200702.htm">2007年2月 <option value="200701.htm">2007年1月 </select> <input type=submit value="表示する"><br> </form>

    • ベストアンサー
    • HTML
  • ボタンで選択されていないセレクトメニューの非反映2

    前回、「ボタンで選択されていないセレクトメニューの非反映」という質問をさせて頂いたものです。 http://okwave.jp/qa/q7093835.html 文章構成などは下記のHTMLをしようしているのですが…。 「蓋付きのボックス」の<ラジオボックスをチェックしなければ選択できない>はクリアできたのですが、「蓋付きバスケット」の方で迷っています。 後はこれで合計金額がきちんと出ればいいのですが…、 もうすこしお力とお時間を頂けないでしょうか? <html> <head> <title>簡単見積もり表</title> <script Language="JavaScript"> <!-- function calc() { n = 0; fObj = document.myFORM; n += eval(fObj.sel0.options[fObj.sel0.selectedIndex].value); n += eval(fObj.sel1.options[fObj.sel1.selectedIndex].value); for (i=0; i<3; i++) if (fObj[i].checked) n += eval(fObj[i].value); for (i=3; i<19; i++) if (fObj[i].checked) n += eval(fObj[i].value); fObj.result.value = n; } function linker(evt){ var t = evt.target || evt.srcElement; if(t.nodeName != "INPUT" || t.type != "radio") return; var sel, i, s; sel = t.form.getElementsByTagName("select"); for(i=0; s=sel[i++];) if(/(^| )linkage( |$)/.test(s.className)){ t = s.previousSibling; while(t && (t.nodeName != "INPUT" || t.type != "radio")) t = t.previousSibling; if(t) s.disabled = !t.checked; } } // --></script> </head> <body> <form name="myFORM" action="#" onclick="linker(event)"> <BR> <b>セットの果物を一つお選び下さい</b><br> <input type="radio" name="ch1" value="100">りんご(100円) <input type="radio" name="ch1" value="20">バナナ(20円) <input type="radio" name="ch1" value="200">梨(200円) <input type="radio" name="ch1" value="250">ブドウ(250円) <input type="radio" name="ch1" value="150" checked>みかん(150円)<br> <BR> <b>リボンの色をお選びください</b><br> <input type="radio" name="ch2" value="0" checked>赤(0円) <input type="radio" name="ch2" value="2000">青(0円) <input type="radio" name="ch2" value="0">金(10円)<br> <hr> <b>バスケットの形をお選び下さい</b><br> <INPUT type="radio" name="cover" value="1200" checked>プラスチック丸型編み込み\1200<INPUT type="checkbox" name="bx1" value="500">素材を木に変更(+\500)<BR> <INPUT type="radio" name="cover" value="1500">編み込み四角\1500<BR> <INPUT type="radio" name="cover" value="1500">編み込み楕円\1500<BR> <INPUT type="radio" name="cover" value="1000">蓋なしボックスレインボー1000円<br> <INPUT type="radio" name="cover" value="covered"><b>蓋付きのボックス</b> 色によって値段が変化します<br> <select class="linkage" name="color_of_cover" disabled> <OPTION value="0" selected>色を選択</OPTION> <OPTION value="39900">赤1000円</OPTION> <OPTION value="52500">青1000円</OPTION> <OPTION value="54600">金1100円</OPTION> </select><BR> <INPUT type="radio" name="cover" value="0"><b>蓋付きバスケット</b> 形によって値段が変化します<BR> <select name="sel1"> <OPTION value="0" selected>形を選択</OPTION> <OPTION value="1500">丸 1500円</OPTION> <OPTION value="1600">四角 1600円</OPTION> <OPTION value="1600">楕円 1600円</OPTION> </select> <br><hr><BR> <b>ご希望のオプションがあれば選択して下さい。(複数選択可)</b><BR> <INPUT type="checkbox" name="bx1" value="300">クッション材\300 <INPUT type="checkbox" name="bx1" value="200">飾り\200<BR> <INPUT type="checkbox" name="bx1" value="150">メッセージカード\150 <INPUT type="checkbox" name="bx1" value="2500">花束\2,500<BR> <BR> <hr> <input type="button" value="合計を出す" onClick="calc()"><br> 合計<input type="text" name="result"><br> </form> </body> </html>

  • プルダウンを選択していないときは、初期値(selected)の値を、選

    プルダウンを選択していないときは、初期値(selected)の値を、選択したときは選択値を、hiddenで渡したい。 ▽プルダウン例 <form> <select> <option value="0" selected>A</option> <option value="4">B</option> <option value="6">C</option> </select> </form> ↑上で選択した値(A or B or C)値を、↓下のvalue=「"hoge"」に渡したいです。 ※選択肢は3つだけではなくて、たくさんあります。 ▽input例 <input name="category_name" value="hoge" type="hidden"> ※formとかselectにid振っても構いません。 ※javascriptでやりたいです。

  • javascriptを活用して、プルダウンメニューにて選択、登録された

    javascriptを活用して、プルダウンメニューにて選択、登録された値は上部に表示及びhiddenに値を代入したいのですが、いまいちわかりません。 例 下記で選択された場合 選択された値をここに表示+<input type="hidden" value="ここに選択された値"> <SELECT name="name"> <OPTION value="tarou">太郎</OPTION> <OPTION value="hanako">花子</OPTION> <OPTION value="saburou">三郎</OPTION> </SELECT> <A href="" onclick="">決定</A> しかも、選択した後にさらに選択して決定を押下することで 選択された値をつみかせねて表示したいのですが、 どなたかご教授して頂けないでしょうか?

専門家に質問してみよう