• ベストアンサー

フォームのボタンをSUBMITから画像にしたいのですが…

フォームを使って値を渡すのに <INPUT TYPE=SUBMIT NAME=WORD VALUE='*****'> とボタンを作成し、VALUEの値 (中身を確認、とか送信実行とか) で動作を分岐し、実行していました。 このボタンを画像にしたいのですが、 値を渡すのはGETじゃないと無理でしょうか? (今まではPOSTで送信) ボタンを画像にするとなると <A HREF='**.cgi'><IMG SRC='**'></A> となるので、 <A HREF='**.cgi?key=****'><IMG SRC='**'></A> のように、する必要があるのかなぁ?と思いまして… せっかくPOSTで受け取るようにCGIを作成したので、 できればPOSTのままで使用できればと思うのですが。 (無理ならGETに変更するしかないですけど) VALUEの値はボタンでは送信できないので、 <INPUT TYPE=HIDDEN NAME=WORD VALUE='****'> として渡そうと思ってます。 他に何かよい方法あるでしょうか? ※Perl使用です。

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

  • ベストアンサー
  • SpiceGirl
  • ベストアンサー率69% (493/713)
回答No.1

こんな感じでできませんか。 <INPUT TYPE="image" src="***.gif" VALUE="submit" alt="投稿" border="0">

w-inty
質問者

お礼

回答ありがとうございます。 <INPUT IMAGE>は知らなかったので、早速やってみました☆ POSTでデータは送れているようですが、 VALUEのところが文字化けしてしまいました。 POSTのデータ PASSWORD=00329&ID=00329&WORD.x=93&WORD.y=13 PASSWORD=00329&ID=00329&WORD.x=85&WORD.y=25 PASSWORD=00329&ID=00329&WORD.x=97&WORD.y=19 しかも毎回データが違う!! なぜでしょうか? 実際はこんな感じに書いてみました。 <INPUT TYPE=IMAGE NAME='WORD' SRC='01.gif' VALUE='自分が送信したファイル'>

w-inty
質問者

補足

もしやWORDの中身はマウスポインタの位置でしょうか? xとyあるし、なんとなく同じ位置でクリックしたら同じような値になったので…

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

<button type="submit" name="WORD" value="*****"><img src="01.gif"></button> で良いと思います

w-inty
質問者

お礼

みなさま回答ありがとうございました。 今回は HIDDENとinput typ="img"の併用でやってみたところ、無事できました。 次やる時は、BUTTONタグを使ってみたいと思います。 ありがとうございました。

  • hikomin
  • ベストアンサー率63% (40/63)
回答No.3

inputのかわりにbuttonを用いる事も出来ます。buttonは要素内にテキストやimgタグを入れ込めるので、目的を達成出来ると思いますが。

参考URL:
http://www.ne.jp/asahi/minazuki/bakera/html/reference/formctrl#button
回答No.2

ご推測の通り、 「画像ボタンをクリックすると、クリックした座標が AAA.x=n AAA.y=n という形式でアクションに送信され」るようです。 参照:http://www.tohoho-web.com/html/input.htm 質問にお書きのように、ボタンにはnameをつけず、hiddenに値を入れて送るのが良さそうですね。

関連するQ&A