input type="submit"のボタンを画像にする方法(IE対応)
input type="image"は要不要関わらずクリック位置がサーバに渡されちゃうし、IEだとnameとvalueの組がサーバに送られない。buttonタグでもIEは同じ仕様。
onclick="form要素.submit()"でいいじゃんと思うけど、ボタンの配置場所がフォームの内側だったら、javascript使うのも馬鹿らしいよね。
なので、input type="submit"をCSSで画像にしてみた。
<div> <input type="submit" name="hoge" value="fuga"> </div>
div { height: 16px; /* IE用 */ overflow: hidden; /* IE用 */ } div input { border: 0; margin: 0; padding: 16px 0 0 0; width: 16px; height: 0; background: url(../image/del.gif) left top no-repeat; overflow: hidden; }
はい、divでくくりましたとさ……(諦め
IE以外のブラウザは、上記CSSのinputタグ用の部分を適用するだけで文字が隠れてくれるんだけど、IEだと隠れてくれずに縦に伸びて文字までしっかり表示される。なんで仕方なくdivでくくってhidden。
IEのinputタグの文字列はどうも色々特殊っぽくて、color: transparentでも消えない、font-size: 0にしてもゴミが残る、などなど、divでくくることにするまでかなりゴニョゴニョしたけど駄目だった。
なんかいい方法無いものか……。でもこれ、上述の通りjavascript使えば良い話で、あんまり真剣にハックしてる人いないだろうなとも思う。