オプションメニュー・クリックした時の処理

このQ&Aのポイント
  • 「wordlist」という名前のオプションメニューを作成し、クリックしたアイテムの番号を処理する方法について相談です。
  • 現在、オプションメニューを作成し、「do_selection.cgi」を呼び出すものの、うまく動作していません。
  • 「submit」を使用してクリックしたアイテムの番号を送信する方法が分からず、アドバイスを求めています。
回答を見る
  • ベストアンサー

オプションメニュー・クリックした時の処理

"wordlist"という名前のオプションメニューを作りました。クリックしてdo/selection.cgiを呼び出して送信を受けたデータ(クリックしたアイテムの番号)を読んで処理を行わせようと考えています。 <form name="resultform" action="do_selection.cgi"> --- --- <select name="wordlist" type=submit> <option selected>訳語検索の結果</option> for ($i=1; $i<$#midashi; $i++) {print "<option value=\"$midashi[$i]\">$midashi[$i]"; } </select> </form> ところが、これではdo_selection.cgiが呼び出されませんでした。またsubmit はメニューでクリックしたアイテムの番号をどのようにして送り出すのかも分かりません。tohohoさんのページを見ておりますが、見つかりませんでした。どなたかアドバイスをいただきたいのですが。。。(もし私の質問に不明の箇所がありましたら、補足をいたしますのでご指摘下さい]

  • Perl
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

<select>で選択後、 <input type="submt" value="送信">を押す。 ってのはダメなの?

tonka729
質問者

お礼

the845tさま、ダメではありませんが、せっかくあのメニューが選択できる仕様になっているため、送信ボタンはいらぬ、っていう欲がどうしても出てしまって。。。じゃあ、あきらめ方向でやります。 ありがとうございました。またこのあともよろしくお願いします。

その他の回答 (1)

  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

http://tohoho.wakusei.ne.jp/html/select.htm <select type="submit"> がそもそも間違い。 オプションメニューを選んだ時点で送信したいのであれば、 JavaScriptを使うとできると思います。

参考URL:
http://tohoho.wakusei.ne.jp/html/select.htm
tonka729
質問者

お礼

the845tさま、早速アドバイスをいただきありがとうございました。そうですか、<間違い>でしたか。。でもJavaScript を使えないプログラム構成にしてしまっておりますものですから、なんとかしてCGIでこのイベントを実現できませんか?

関連するQ&A

  • オプションメニューの選択されたアイテム内の空白が取得できません

    オプションメニューで選択したアイテムのなかに、 in loco のように空白を含む文字列がある場合、これを送信しても in しか取得されませんでした。空白を含めて取得するにはどうしたらよいのでしょうか? <FORM method="POST" action="EditDic.cgi" name="kdicFORM" target="frame3"> <INPUT type="submit" name="job" value="下から選べ!"> <SELECT size="10" name="wordlist">       for ($i=0; $i<=$#wordlist; $i++) {        <option value=@wordlist[$i]>@wordlist[$i]</option> } </SELECT> </FORM>

    • ベストアンサー
    • Perl
  • オプションメニューのアイテムを一括して再表示したい

    <select name="wordlist"> <option selected>訳語検索の結果</option> for ($i=1; $i<$#midashi; $i++) {print "<option value=\"$midashi[$i]\">$midashi[$i]"; } でいったん表示したメニューを、CGIプログラムが次のプロセスに進んで表示データを更新するとします。でもこのメニューのアイテムだけは全部ひとつの変数に保存しておき、画面再表示の時にこの変数を呼び出して簡単に表示しようと考えています。  が、変数への保存、再表示ができるのかが私のperl知識では分かりません。どなたかお教えいただけると助かります。

    • ベストアンサー
    • Perl
  • 選択されたメニューアイテムの番号は?

    以下のようなフォームの送信をCGIプログラムで受けた時、フォーム部品の一つのオプションメニューの洗濯されたアイテムの番号を取得したいのですが、どのようにしたらよろしいのでしょうか? <select name="wordlist"> <option selected>訳語検索の結果</option> for ($i=1; $i<$#midashi; $i++) {print "<option value=\"$midashi[$i]\">$midashi[$i]"; } </select> どなたかアドバイスをどうかよろしくお願いいたします。

    • ベストアンサー
    • Perl
  • 配列データをテーブル内に出力したい

    作成した二つの配列 $midashi と$yakugo をテーブルの中に表示しようとしております。テーブルはまあなんとか描けたのですが、メニューのオプションを配列分だけ増加していく方法がわかりません。それどころかprint 命令自体がよく分からなくて、これではソースそのものが出力されちゃいます。すみませんが、どなたか、ご指導下さい。どのように出力部分をかき分けるべきなのでしょうか? 初心者なのでお恥ずかしいのですが、どうかよろしくお願い申し上げます。 <HTML> <HEAD> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> </HEAD> <BODY bgcolor="#b08317"> <table border=4 width=650 align=left><tr bgcolor="#cccccc"> <form name="resultform" action="do_selection.cgi"> <th> <textarea name="DATA" cols=50 rows=5>'まだ空白'</textarea></th> <th> <select name="wordlist" type=submit> <option selected>訳語検索の結果</option> </select> for (i=1; i<$midashi.length; i++) {resultform.wordlist.options[i]= new Option(); resultform.wordlist.options[i].text=$midashi[i-1]; } </th> <th> <select name="hiddenlist"><option selected>かくされたもの</option></select> for (i=1; i<$yakugo.length; i++) {resultform.hiddenlist.options[i]= new Option(); resultform.hiddenlist.options[i].text=$yakugo[i-1]; } </th> </tr> </form> </table> </BODY> </HTML> EOD

    • ベストアンサー
    • Perl
  • オプションメニュー項目の値の取得は?

    フォームのオプションメニュー項目の書き方は分かりましたが、項目の値をアクションプログラム側から完全には取得できませんでした。つまり以下のように1項目には2つの情報を入れられますが: <select name="wordlist"> print "<option selected>見出し語の一覧\n"; for ($i=0; $i<=$#midashi; $i++) {print "<option value=$i>$midashi[$i]</option>\n"; } print "</select>\n"; 前方のキーになる部分valueを $selectedItem=$f{'wordlist'};では取得できず、後方の見出し語しか取得できません。どの参考書にもこれでvalue 値が得られると書かれてはいますが。。 どなたか、アドバイスをよろしくお願いします。もし私の質問がわかりにくい場合はご指摘ください。質問をし直しますので。

    • ベストアンサー
    • Perl
  • 配列をオプションメニューに書き込むには?

    PHPを始めたばかりです。HTMLスクリプトの中に埋め込めるのがPHPの特徴だ、 と本に書かれていますが、次のようにオプションメニューリストを書こうとする時は、どうしたらよいのでしょうか。JavaScript との連携も考えないと不可能のように思えるのですが、いかがなのでしょうか?どなたか、どうかよろしく御教示下さい。 (辞書の見出し語配列 $wordlist は、この同じプログラムファイル内の別の場所で、PHPをつかって辞書ファイルを読んで取得されているものとします。グローバル変数です) <SELECT size="15" name="wordlist"> for ($i = 0; $i <= $max-1; $i++) //オプションメニューに記入する { for ($i=0; $i<=$#wordlist; $i++) { print "<option value=$wordlist[$i]>$wordlist[$i]></option>\n"; } } </SELECT>

    • ベストアンサー
    • PHP
  • IE6でプルダウンメニューをクリックするとその時に色が変わるようにして

    IE6でプルダウンメニューをクリックするとその時に色が変わるようにしていたのですが、 IE8でプルダウンメニューをクリックするとすぐに閉じてしまいます。 2回目のクリックでメニューが表示されます。 これはIEのバグなのでしょうか? また、他に良い方法あるのでしょうか? 以下がサンプルソースです。 <HTML> <HEAD> <TITLE>サンプル1</TITLE> </HEAD> <BODY> <CENTER> <FORM name="testForm"> <SELECT onFocus="style.backgroundColor='yellow'" onblur="style.backgroundColor='white'"> <OPTION>white</OPTION> <OPTION>red</OPTION> <OPTION>green</OPTION> <OPTION>blue</OPTION> </SELECT> </FORM> </CENTER> </BODY> </HTML>

  • Javascriptでセレクトメニューの選択チェックの方法

    Javascriptでセレクトメニューのフォームをチェックしたいのですが、 リストメニューの「選択して下さい」を選んだままだと、「番号を選択して下さい。」とエラーを出したいのですが、下記の様に書いてみたのですが、うまく動きません…どのように書けばいいか教えて下さい。宜しくお願いします。 <script language=\"JavaScript\"> <!-- function Check() { var str = document.form.a.value; if(document.form.a.value == "0") { alert("番号を選択して下さい"); } //--> </script> <form id="form" name="form" method="post" action="##"> <select name="a" onblur="Check();"> <option value="0">選択して下さい</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type="submit" name="Submit" value="登録" onClick="Check();"> </form>

  • プルダウンメニューでフォームのターゲット先を変更したい。

    プルダウンメニューでフォームのターゲット先を変更する方法をしえてもらえませんか? 下記の様にすると_topを指定しても新しいウィンドウが開いてしまいます。 <FORM name="test2" action="http://hoge.cgi" target=yyy.value> <INPUT type="text" size="34" name="word"><SELECT name="search"> <OPTION value="yahoo" selected>Yahoo!Japan</OPTION> <OPTION value="google">google</OPTION> </SELECT> <SELECT name="yyy"> <OPTION selected>窓選択</OPTION> <OPTION value="_blank">別窓</OPTION> <OPTION value="_top">同窓</OPTION> </SELECT> <INPUT type="submit" value="検索"> </FORM>

  • オプションメニューにアイテムをプログラムで追加したい

    form2に置いたメニュー(name=URLs)に、表示したいURLを次々に追加して、その一つのアイテムをクリックしたらform1に表示される、っていう操作をJavaScriptで書きたいのですが、基本的な知識をどなたかお教え下さい。  必要な部品は、一行テキスト領域、メニューURLsにURLの文字列を送り込むためのプッシュボタン、オプションメニュー(URLs)でやりたいと思います。

専門家に質問してみよう