アプリ版:「スタンプのみでお礼する」機能のリリースについて

簡単な計算式のあるCGIなのですが、
POSTでCGIに値を送りたいので、
以下のようにフォームを作成しました。
Firefoxでは値を受取り正常に動作するのですが、IEではmodeの値が空の状態になり、値が受け取れません。(常に&Bが実行されます。)

HTML内
<input type="image" src="img/select1.gif"value="a" name="mode">
<input type="image" src="img/select2.gif" value="b" name="mode">

CGI内
$mode=$in{'mode'};
if($mode eq "a"){&A;}else{&B;}

何を修正するれば、どちらでもきちんと動作するようになるのでしょうか?
ご教授下さいますよう、宜しくお願い致します。

A 回答 (2件)

type="image"の場合、valueで指定した値が送られるかどうかはブラウザによってまちまちのようです。

(確証はないけど、value値が送信されないのが正しいというような文献もありました。)

type="image"のボタンは(サーバ側の)クリッカブルマップを実現させるた、マウスでクリックした座標が送られます。
~?mode.x=XX&mode.y=YY

なので別のnameをつけておいて
modeA.xに値があるか、modeB.xに値があるかでどちらのボタンが選ばれたか一応判断できるかも
    • good
    • 0
この回答へのお礼

なるほど!そうなんですね。
type="image"の場合、valueで指定した値が送られるかどうかはブラウザによって違うのはまったく知りませんでした。
教えていただいた通り、modeA.xとmodeB.xで判別させて、無事にちゃんと動作するようになりました!!!
ありがとうございました。

お礼日時:2007/09/26 15:27

hiddenを使うのもいいかと思います。


<input type="hidden" name="mode" value="a">

というように。

参考URL:http://news.joho.boo.jp/?day=20070907
    • good
    • 0

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