WEB相談室

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

タイトル:perlで・・・・もうひとつ・・・訂正

0:[投稿] perl初心者 [2008/10/10 09:55 ] [環境:win-xp わからない]

perlでどなたか教えて下さいませ。

perlでプログラムを作っているのですが、同一ページ内でプルダウンメニュー1で、ある値が選択されたら、次のプルダウンメニューの内容をそれに合わせて変えたいのですがわかりません。。。

(例

 プルダウンメニュー1
  1.フルーツ
  2.野菜
  3.魚

とかになっていて 1を選択すると・・・

 プルダウンメニュー2
  1.メロン
  2.イチゴ
  3.バナナ

になる。
ちなみにプルダウンメニュー1で2を選ぶと・・・・

 プルダウンメニュー2
  1.きゃべつ
  2.だいこん
  3.かぼちゃ

とかになるようにしたいのですが・・・

宜しくお願い致します。

######以下は不要でした!!


1:[回答] chaipapa [2008/10/14 22:32 ]

プルダウンメニューのメニューリストの個数と名称が、はじめに表示するときに、決まっていれば、普通、JavaScriptで対応します。

決まってなければ、Perl(CGI)でそのようなHTMLを生成します。



2:[回答] perl初心者 [2008/10/14 23:19 ]

内容はプルダウンメニュー1は決まっていて、プルダウンメニュー2が1の選択内容によって変わるというものですが・・・・・

Perl(CGI)で出来ますでしょうか???
Perl(CGI)の中でJavaScriptとか???
出来るのか知りませんが・・(^^;)
よろしくお願いします。


3:[回答] chaipapa [2008/10/15 22:14 ]

基本的には、HTMLでプルダウンメニュー(select要素)
の記述の仕方をマスターして、それをPerlのprint文とかヒアドキュメント文で標準出力します。

あと、CGIの起動とか、いろいろありますが・・・。
とりあえず、CGIの本を一冊、読んだ方が、早いかもしれませんね・・・。


4:[回答] マオマオ [2008/10/17 17:41 ]

あくまでもひとつのパターンとして。
#想定していた仕様にそぐわないようでしたらごめんなさい^^;

とりあえずJavaScriptで連携させる方法として、こんな感じになるのかな?こんな感じでPerlで出力してください。

<HTML>
<HEAD>
<TITLE>セレクトボックス連携テスト</TITLE>
<META http-equiv="Content-Type" content="text/html ; charset=SHIFT_JIS">
<script language="javascript">
function listChange(frm) {
 datBox = new Array(
     new Array(
       new Array('1.メロン', '1.メロン'),
       new Array('2.イチゴ', '2.イチゴ'),
       new Array('3.バナナ', '3.バナナ')
     ),
     new Array(
       new Array('1.きゃべつ', '1.きゃべつ'),
       new Array('2.だいこん', '2.だいこん'),
       new Array('3.かぼちゃ', '3.かぼちゃ')
     ),
     new Array(
       new Array('1.たい', '1.たい'),
       new Array('2.ひらめ', '2.ひらめ'),
       new Array('3.まぐろ', '3.まぐろ')
     )
 );
 frm.sel_2.length = 1;
 var y = frm.sel_1.selectedIndex;
 for (var z = 0; z < datBox[y].length; z++)
   frm.sel_2.options[z] = new Option(datBox[y][z][1], datBox[y][z][0]);
}
</script>
</HEAD>
<BODY>
<form name="frm">
<select name="sel_1" onchange="listChange(this.form);">
<option value="1.フルーツ">1.フルーツ</option>
<option value="2.野菜">2.野菜</option>
<option value="3.魚">3.魚</option>
</select>
<br><br><br><br><br><br>
<select name="sel_2">
</select>
</form>

</BODY>
</HTML>

あとはページ表示時に前ページとかで「プルダウンメニュー1」が選択されているのでそれに対応した値を「プルダウンメニュー2」に出力した場合は、<body>のonloadで「このindexが選択されている!!」っとlistChange()を呼べば実装できるかと。


5:[完了] perl初心者 [2008/10/20 12:38 ]

回答有難う御座います。私はJavaScriptはさっぱりなんですが、早速実行してみます。有難う御座いました。

回答(必須): 状態:

お名前(必須):

URL:




[戻る]