WEB相談室

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

タイトル:ラジオボタンで取得した複数の情報を一つにまとめたい

0:[投稿] ABO [MAIL] [2004/04/10 18:15 ][環境:IE6,win2000 win,apache,perl5]

perlでのフォーム情報の受け渡しについての質問で御座います。
フォームから様々なvalueを飛ばしているのですが、下記のようなソース(全部載せるとあまりにも長いので要点だけ掲載させていただきました。)で”hindo”の部分で複数吐かれるvalueをひとつのvalueとして扱いたいのですが、どのようにしたら良いのか解からず大変悩んでおります。ぜひともどなたか良きアドバイスを頂戴できたらと思いますです。
-----------------------------------------------------
#$hindo、$item、$brandがあったらチェックを入れる
if ($hindo) {$hindo[$hindo] = 'checked';}
if ($item) {$item[$item] = 'checked';}
if ($brand) {$brand[$brand] = 'checked';}

#この部分の結果を”hindo=01”のような形にしたいです。
<input type="hidden" name="hindo" value="0" $cause[0]>
<input type="radio" name="hindo" value="1" $cause[1]>
<input type="radio" name="hindo" value="2" $cause[2]>
<input type="radio" name="hindo" value="3" $cause[3]>

<input type="checkbox" name="item" value="1" $item[1]>

<input type="checkbox" name="brand" value="1" $brand[1]>
-----------------------------------------------------------
いかなる状態でも必ずまず"hindo"には"0"が入ってしまうというソース的には、かなり無茶な物なのですが、吐き出される際には"hindo=0"と"hindo=x"が別々に吐かれているので何とかこの2つを一つにまとめられないものかと考えております。是非ともご熟考いただきますようお願い致しますです。



1:[回答] AC [2004/04/10 19:35 ]

やりたいことが今一つ分からないのですが、
hindo:1がチェックされた時、サーバ側には01という値を送りたいということですか?


2:[回答] ABO [MAIL] [2004/04/10 20:46 ]

いえ、なんと申し上げたらよいのでしょうか、入力が無ければ"hindo=0"のみを送り、入力があったら"hindo=1"のみを送る形にしたかったのですが、現在の形でhindo:1にチェックがあった場合、"hindo=0"、"hindo=1"の両方が出力されていたので、二つの値を合わせて"hindo=01"とならないものかと思ったのですが、難しいでしょうか?


3:[質問] ABO [MAIL] [2004/04/10 20:47 ]

いえ、なんと申し上げたらよいのでしょうか、入力が無ければ"hindo=0"のみを送り、入力があったら"hindo=1"のみを送る形にしたかったのですが、現在の形でhindo:1にチェックがあった場合、"hindo=0"、"hindo=1"の両方が出力されていたので、二つの値を合わせて"hindo=01"とならないものかと思ったのですが、難しいでしょうか?


4:[回答] AC [2004/04/10 21:30 ]

>>2
入力がない、というのは、ラジオボタンが選択されていない状態のことですか?
だとしたら、それは好ましくない状態です。ラジオボタンが選択されていない場合の仕様は未定義になっているし、またユーザが「ラジオボタンが選択されていない」に戻すこともできません。
もう1つラジオボタンを用意して、デフォルトではそのラジオボタンが選択されている、という状態にするのがよいと思います。


5:[質問] ABO [2004/04/10 21:44 ]

ACさん。度々のご返答誠に有難う御座います。私も上記の方法は考えたのですが、上司がどうしても「「無選択(ACさんが上記でおっしゃっているデフォルトのラジオボタン)」が表示されない形でできないか?」というので現在のような難儀を致しているしだいで御座います。
なんとかhindoラジオボタン1〜3が選択されていなかったら、WEB上に見えない形で「無選択」のデータを渡すことはできないでしょうか?


6:[回答] AC [2004/04/10 23:01 ]

<style type="text/css">
.default-radio { display:none }
</style>

<input type="radio" name="hindo" value="0" class="default-radio" checked>
<input type="radio" name="hindo" value="1">
<input type="radio" name="hindo" value="2">
<input type="radio" name="hindo" value="3">

みたいに非表示とするという方法があるでしょうか。
ただし、この場合でも、ユーザが『ラジオボタンが選択されていない』に戻すことができない、という問題は解決しません。


7:[完了] ABO [2004/04/10 23:25 ]

ACさん、誠に有難う御座いました。
一応現段階での問題はACさんに提起していただいた方法によって解決いたしました!
明日職場にて更に動作確認を行いたいと思います(実は上記のようなデータ郡をメールとCSVに吐かせております)。
本当に有難う御座いました。<(_ _)>


8:[完了] ABO [2004/04/10 23:30 ]

追伸
『ラジオボタンが選択されていない』状態は
<input type="radio" name="hindo" value="0" class="default-radio" checked>
にいたしました。無選択=0という形になり、CSVを吐く際にも非常に良い形となりました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World