- ベストアンサー
フォームがFirefoxで動作するのにIEでは動作しない
簡単な計算式のある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;} 何を修正するれば、どちらでもきちんと動作するようになるのでしょうか? ご教授下さいますよう、宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
type="image"の場合、valueで指定した値が送られるかどうかはブラウザによってまちまちのようです。(確証はないけど、value値が送信されないのが正しいというような文献もありました。) type="image"のボタンは(サーバ側の)クリッカブルマップを実現させるた、マウスでクリックした座標が送られます。 ~?mode.x=XX&mode.y=YY なので別のnameをつけておいて modeA.xに値があるか、modeB.xに値があるかでどちらのボタンが選ばれたか一応判断できるかも
その他の回答 (1)
- taaaaaaa
- ベストアンサー率38% (31/80)
回答No.2
hiddenを使うのもいいかと思います。 <input type="hidden" name="mode" value="a"> というように。
お礼
なるほど!そうなんですね。 type="image"の場合、valueで指定した値が送られるかどうかはブラウザによって違うのはまったく知りませんでした。 教えていただいた通り、modeA.xとmodeB.xで判別させて、無事にちゃんと動作するようになりました!!! ありがとうございました。