• ベストアンサー

フォームのボタンを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使用です。

  • w-inty
  • お礼率72% (1169/1618)
  • Perl
  • 回答数4
  • ありがとう数16

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

  • ベストアンサー
  • 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

  • name属性のあるフォームボタンを画像化について

    name属性のあるフォームボタンを画像化について どのように質問したらよいのか分からず、説明が足りないようでしたらばご了承ください。 以下のフォームボタンがあるのですが、これらを画像にしたいと思っています。 <input type="submit" value="送信" /> <input type="submit" name="retry" value="訂正" /> 送信ボタンは以下のように画像にしました。 <input type="image" src="./img/send.gif" value="送信"> しかし訂正ボタンを同じようにしたところ、訂正ボタンを押しても送信ボタンと同じアクションになってしまいます。 <input type="image" src="./img/retry.gif" name="retry" value="訂正"> デフォルトの訂正ボタンにはname="retry"と書いてあるのですが、 このようなボタンを画像にする場合、どのようにすればよろしのでしょうか? アドバイスよろしくお願いします。

    • ベストアンサー
    • HTML
  • フォームボタンをテキストに変更したい

    通常はCGI01のようにボタンなり画像なりをクリックするとcgiを叩けますが そのボタン部分をテキスト(リンクを張りユーザーにはわからないように)に変更したいのです。 つまり アクションとしては通常のリンクをクリックすると~index.html?link=1(value=1)を得たいのです。 のようなイメージです。 CGI02として予想を書きました。 うまく表現できないのですが、ご存知でしたらご教授お願いいたします。 CGI01 <form action="index.cgi" method="GET"> <input type="submit" name="link" value=1> <a href="">link</a> CGI02 <form action="index.cgi" method="GET"> <input type="hidden" name="link" value=1> <a href="">link</a>???

    • ベストアンサー
    • Perl
  • フォームが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;} 何を修正するれば、どちらでもきちんと動作するようになるのでしょうか? ご教授下さいますよう、宜しくお願い致します。

    • ベストアンサー
    • CGI
  • 2つのボタンによるSubmitについて

    javascript初心者です。 <form name="sample01" action="aaa.html" method="POST" >  <input type="checkbox" name="chk[]" value="1">  <input type="checkbox" name="chk[]" value="2">  <input type="checkbox" name="chk[]" value="3"> </form> このチェックボックスの値を、submitで渡したいのですが、 AボタンとBボタンの2つ設けて、それぞれクリックすると別ファイルに遷移させたいのです。 Aボタンは、「sample01」のaction属性にあるaaa.html Bボタンは、bbb.html こういったことはできるのでしょうか?

  • 一つのフォームでボタンにより別々のactionを実行するには

    GETでもPOSTで構いませんが、通常フォームの基本は、 ---- <form method="post" action="CGIのURI"> ..(input要素) <input type="submit" value="送信" /> </form> ---- となっていまして、「送信」ボタンを押すとCGIに送信されるようになっています。 この送信ボタンを「送信1」「送信2」とし、それぞれ送信されるCGIが別々なURLに送信したいと思っています。 つまりinput要素で入力しているフィールドを共通化して使いたいと思っています。 このような方法ってできるのでしょうか?どなたかご存知であればご教授ください。

    • ベストアンサー
    • HTML
  • サブウインドウにsubmitしたい

    下記のような送信ボタンを押したときに、サブウインドウとして次の画面を開いてテキストボックスに入力した値を表示する方法についてアドバイスいただけないでしょうか。簡単かと思って探したものの、よくわかりませんでした。次の画面はnext.cgiです。送信時にFieldの値をjavascriptの値として取得する部分がよくわかりません。 #あくまでサブウインドウで開く #サブウインドウに値を引き継ぐ <FORM ACTION="next.cgi" METHOD="POST"> <INPUT TYPE="TEXT" NAME="Field" SIZE="12"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="送信"></form>

  • ボタン別でフォームの送信先を変えたい

    同じ場所に3つある今のフォームを1つにまとめたいのですが、 「ラジオボタン」でやるのではなく「submitボタン」によって送信先の振り分けはできないのでしょうか? CGIなどを使って一旦クッションを置くのは問題ないです。何か参考になるサイトさんとかありましたら教えてください。 <form action="1.php" method="get" class="form" target="a" name="1"> <input type="hidden" name="s" value=90 /> <input type="hidden" name="t" value="e" /> <input type="text" name="moji" value="" size="8" /> <input type="submit" name="button" value="検索" /> </form> <form action="http://e.php" method="get" name="2" target="a"> <input type="hidden" name="test" value=et /> <input type="text" name="77" value="" size="8" /> <input type="submit" value="検索2" class="button" /> </form> <form action="http://8.cgi" method="get" target="a"> <input type="text" size="8" name="q" value="" /> <input type="submit" value="検索3" class="button" /> <input type="hidden" name="sut" value="JJ" /> </form>

    • ベストアンサー
    • CGI
  • submitボタンを二つ用意したい

    textに入力したものを二つのsubmitボタンで共用できるようにしたいと考えています。 作ってみたのですが、思ったように動かずに困っています。 ↓をどのように修正すれば動くでしょうか。 よろしくおねがいします。 <html> <body> <form name="hoge" action="hoge1.php" method="post"> <div class="ok_left"><input name="kw" value="" /> <script type="text/javascript"> <!-- function pushSubmit (val) { with(document.hoge){ if(val=='2'){ action = 'http://hoge.jp/hoge2.php'; } submit(); } } --> </script> <a href="javascript:pushSubmit('1');"><input name="submit1" type="submit" value="1"/></a> <a href="javascript:pushSubmit('2');"><input name="submit2" type="submit" value="2"/></a> </form> </body> </html>

    • ベストアンサー
    • HTML
  • 選択したたラジオボタンの値をSUBMITボタンに

    選択したたラジオボタンの値をSUBMITボタンの名前として自動的に替えたいのですが、助言をいただけますか。 イメージは下記です。★の部分に、クリックごとにradioの値を入れたいのです。 <script Language="JavaScript"><!-- function set() { n = document.myFORM.Radio.value; } // --> </script> <FORM ACTION="add.cgi" METHOD="POST" name="myFORM"> <INPUT TYPE="RADIO" NAME="Radio" VALUE="東京" onclick="set()" CHECKED> <INPUT TYPE="RADIO" NAME="Radio" VALUE="大阪"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="★"></form>

  • 複数のsubmitボタンで押されたボタンを取得する方法

    form内の、submitボタンの値が拾えません。 1つだけsubmitボタンを設置すると値が拾えますが、 2つ以上submitボタンを設置すると拾えません。 仕様上、無理なのでしょうか? <SCRIPT language="JavaScript"> function move_post(){ alert(document.frmMvPost.btn.value); } </SCRIPT> <FORM name="frmMvPost" action="" method="post" onsubmit="return move_post()"> <INPUT type="submit" name="btn" value="テスト1"> <INPUT type="submit" name="btn" value="テスト2"> <INPUT type="submit" name="btn" value="テスト3"> </form>

専門家に質問してみよう