人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

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

●質問者: bababa
●カテゴリ:インターネット ウェブ制作
✍キーワード:CGI クリック シンプル タグ プログラム
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

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

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

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

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

◎質問者からの返答

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


2 ● kazu1107
●35ポイント

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は処理してくれるのではないでしょうか?


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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ