• ベストアンサー

セレクトメニューで2つの項目や値を渡す方法はありますか?

良かったら教えてください。 セレクトメニューで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に渡す事は、 可能でしょうか? 教えてください。

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

  • ベストアンサー
  • togino
  • ベストアンサー率75% (97/129)
回答No.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 なのか、書いてないので プログラム例を提示させてあげられなくて残念ですが 意図は伝わったでしょうか?

sara555
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • elttac
  • ベストアンサー率70% (592/839)
回答No.1

 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 のように渡されます。  このとき,多くのブラウザで,コントロールがドロップダウン式でなくリスト式になります。

sara555
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A