WEB相談室

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

タイトル:複数FORMの表示方法

0:[投稿] あかり [2004/03/04 19:39 ][環境:IE6 CGI]

こんにちは。
FORMを複数表示する事は不可能なのでしょうか?
以下のようなページを作りたいのですが。。。
よろしくお願いいたします。

プルダウンA1(→a.cgiへの送信データ)
プルダウンB1(→b.cgiへの送信データ)
[b.cgiへの送信ボタン]
プルダウンA2(→a.cgiへの送信データ)
[a.cgiへの送信ボタン]

--------サンプル-------------
<HTML>
<HEAD>
<TITLE>サンプル</TITLE>
</HEAD>
<BODY>

<FORM action="a.cgi">
<SELECT NAME="A1">
    <option>A1</option>
    <option>A1</option>
</SELECT>
<BR>
<BR>
<FORM action="b.cgi">
<SELECT NAME="B1">
    <option>B1</option>
    <option>B1</option>
</SELECT>
<BR>
<INPUT TYPE=SUBMIT VALUE=B1のデータ送信>
</FORM>
<SELECT NAME="A2">
    <option>A2</option>
    <option>A2</option>
</SELECT>
<BR>
<INPUT TYPE=SUBMIT VALUE=A1・A2のデータ送信>
</FROM>
</BODY>
</HTML>


1:[回答] mobt [2004/03/04 20:06 ]

いちばん簡単なのはチェックボタンを設けてみては?

またはA2の中の一番上に <option value="0">選択してください</option>
とかをいれてCGI側で
if($in{'A2'} eq "0"){    }#A1選択
else{   }#A2も選択
とする方法などもありますよ

あとFROMのなかにFROMを入れるよりか
<FORM action="a.cgi"> <SELECT NAME="A1"> <SELECT NAME="A2">
</FROM>
<FORM action="b.cgi"> <SELECT NAME="B1"> </FROM>
にして 別々にしたほうが・・・


2:[回答] … [2004/03/04 20:16 ]

というか仕様上,form要素は入れ子にできません。


3:[質問] あかり [2004/03/04 20:25 ]

そうですか。。。
それではFORM1でラジオボタンでチェックをした場合、FORM2のプルダウンを変化させるといった事とかはできますでしょうか?


4:[回答] AC [2004/03/04 20:38 ]

今回はGETメソッドを使っているので、間にx.cgiというのを挟んで、そこから
a.cgiまたはb.cgiにリダイレクトさせればよいと思います。
<form action="x.cgi">
<select name="A1"></select>
<select name="B1"></select>
<INPUT TYPE=SUBMIT name="submit_b" VALUE=B1のデータ送信>
<select name="A2"></select>
<INPUT TYPE=SUBMIT name="submit_a" VALUE=A1・A2のデータ送信>
</form>
--
x.cgi
# Query解析
if (exists $form{'submit_a'}) {
print "Location: /path/a.cgi?$ENV{QUERY_STRING}\n\n";
} elsif (exists $form{'submit_b'}) {
print "Location: /path/b.cgi?$ENV{QUERY_STRING}\n\n";
} else {
print_error;
}

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World