cgiのプログラムを改造しようとしてまして、FORMタグ部分についての質問です。


<select>でIDを選択していたところを、<input>でIDを直接入力するようにしました。

やったー!と思いきや、複数選択ができなくなりました。(ctrlキー押しながらクリックするアレ)

<input>で何とか対応したいのですが、できればシンプルにカンマ区切りで対応したいのですが、何とか方法はありませんでしょうか。

ちなみに権限がないため私は入力画面しかいじれません。。。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/10/05 23:03:40
  • 終了:2006/10/12 23:05:32

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402006/10/05 23:19:04

ポイント35pt

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms...

複数で送信したい場合 input タグをその数だけ並べてください

name の部分はすべて同じで構いません。

動的に数を増減することは JavaScript 等を使用しなければ出来ません。

id:ssakamoto

ありがとうございます!これなら私にも出来そうです

2006/10/06 01:33:45
id:kazu1107 No.2

kazu1107回答回数199ベストアンサー獲得回数142006/10/06 00:55:35

ポイント35pt

inputに"aaa,bbb"と入力したらaaaとbbbというIDを送りたいってことですか?

入力画面しか変更することができないということは、selectタグの動作を偽装する必要があります。

現実的にはsubmitの前に一度JavaScriptで、カンマ区切りのデータをSelectが送るようなデータ型に変換するという動作になるかと思います。


以下のサンプルは送信ボタンをJavaScriptで実装しています。(指定form内のデータが送られます)

http://www.godtomato.net/memo/JavaScript/a_submit.html


次に複数選択の問題ですが、<select>は複数の項目データをサーバに送るとき、<select>の名前がlistだとすれば以下のようになるようです。(参考:http://zaidan.iris.or.jp/ihpc/05/050107.html

list=aaa&list=bbb

ということは、データ送信時に<input type="hidden">を用いてname="list"とし、aaaとbbbのデータを送ればそれでCGIは処理してくれるのではないでしょうか?


テストしてないので一応勘になります。

id:ssakamoto

ありがとうございます!難しげですが試してみます

2006/10/06 01:35:32
  • id:i_am_partner
    回答できそうですが、ご質問の主旨が少しわかりません。
    inputタグにカンマ区切りで入力する、ということでよいような気がしますが…(そういうことではない?)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません