• ベストアンサー

formでsubmitの代わりに画像を使ったとき、POSTできるか

表題の件で質問です。 どちらかというとHTMLよりな質問になりますが、受け取り側がPHPなのでこちらで質問させていただきます。 まず <form action="受け取りのURL" method="post"> <input type="image" src="....gif" name="image"> <input type="hidden" name="data" value="渡すデータ"> </form> として、受け取りに、 <? $data=$_POST["data"]; printなりの処理; //あるいは if(isset($_POST["image"])) { $data=$_POST["data"]; printなりの処理; } ?> としますが、受け取りURLにとんでもうまくPOSTでデータが渡りません。 type="iamge" を type="submit"に変えればPOSTされます。 submitの代わりにイメージ画像を使うと、POSTできないのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

print_r($_POST); として内容を確認してみてください。 <input type="image" src="....gif" name="image"> の場合には$_POST["image"]はセットされません 変わりに$_POST["image_x"] と$_POST["image_y"]にクリックした座標がセットされます。 <input type="image" src="....gif" name="image" value="値"> とvalueをつけると$_POST["image"]もセットされます。

nyalio
質問者

お礼

遅くなりまして申し訳ございません。 丁寧な回答ありがとうございます。 type="imageにvalueを付けるところまでは思いつきませんでした。 今はまだsubmitでやっているのですが、時期を見てimageに切り替えようと思います。 ありがとうございました。

その他の回答 (1)

  • MrYoYoYo
  • ベストアンサー率33% (38/115)
回答No.2

<form name="fm" action="" method="post"> <a href="#" onclick="window.fm.submit();"><img src="URL" /></a> </form> といった感じでjavascriptを使えば、やろうとしていることができると思います。

nyalio
質問者

お礼

回答ありがとうございます。 Javascriptだとできるんですね。なるほど。 自分がJavascript書けないもので、考えてませんでした。 これを機に少し触ってみようと思います。 ありがとうございました。

関連するQ&A