プロが教えるわが家の防犯対策術!

良かったら教えてください。
セレクトメニューで2つの項目や値を渡す方法は
ありますか?
普通は、
<select name="test">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
と言う感じですが、
「テスト」を選ぶと
name="test1" name="test2"の項目で、
value="1111" value="2222"
選択項目は、1つですが、2つの項目、
2つの値を次のCGIに渡す事は、
可能でしょうか?
教えてください。

A 回答 (2件)

たぶん ANo1 の elttac さんも、この質問の意味を


解釈するのに悩まれたと思いますが・・・

> 「テスト」を選ぶと
この行から質問文が意味不明になります(汗)
「テスト」ってなんでしょう?

> 選択項目は、1つですが、
> 2つの項目、2つの値を次のCGIに渡す事は
「選択項目が1つ」という点からすると
ANo1 さんの「項目を2つ以上選択する」という解釈
ではないのかなぁと思いまして、別の解釈を

<select name="test">
<option value="test1=1111&test2=2222">「テスト」</option>
</select>

ってしておけば、「テスト」を選択すると
test = "test1=1111&test2=2222"
という値が CGI に送られます。

あとは、送られてきた値を & で分割し
それぞれを = で分割し、前半を変数名・後半を値として
解釈すれば、いいわけです。

CGI の言語が Perl なのか PHP なのか、書いてないので
プログラム例を提示させてあげられなくて残念ですが
意図は伝わったでしょうか?
    • good
    • 0
この回答へのお礼

回答有難うございます。
教えていただいた手法でいけました。
ありがとうございます。

お礼日時:2004/07/28 13:31

 1 つのセレクトメニューで 2 つ以上の項目を渡す,ということでよろしいでしょうか。



<select name="test" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>

と記述してみてください(multiple を加える)。これで,複数の項目を選択できるようになります。それで,CGI に渡されるときには,3 と 4 が選択されている場合ですと,

tset=3&test=4

のように渡されます。
 このとき,多くのブラウザで,コントロールがドロップダウン式でなくリスト式になります。
    • good
    • 0
この回答へのお礼

回答有難うございます。
この方法も参考にさせていただきます。

お礼日時:2004/08/03 20:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A