アフィリエイト広告を利用しています

2017年10月07日

input type="image"の罠

input type="image" は非常に便利。

画像ボタンが簡単に作成できる。

input type="button"やbuttonでは画像の配置指定に手間取ってしまう。


便利なコマンドや機能は使ってみると思わぬ落とし穴にはまりがち。

今回もやはりそうだった。


<input type="button" value="Delete" onclick="SampleFunction();" >
     ↓
<input type="image" src="images/trash.png" onclick="SampleFunction();" >


buttonをimageにしたら、SampleFunction()の機能が一部、動作しなくなった。

調べてみると、input type="image" はクリックするとsubmitが実行されていた。


<!DOCTYPE html>
<body>
<form method="post" action="?" onsubmit="alert('test');">
<input type="image" src="images/画像ファイル名.png" >
<input type="button" value="ボタン名" >
</form>
</body>
</html>


buttonのボタンをクリックしても何も起きないが、

imageのボタンをクリックするとalert('test');が実行される。

methodをpostからgetに変更するとURLバーに以下のような座標情報も表示される。

 x=21&y=25

このままでは image ボタンは使用できないのでWebで検索して以下の方法を見つけた。

<form>タグに onsubmit="return false;" を付けて、「submit」させなくする。

<form method="post" " action="?" onsubmit="return false;">

めでたし、めでたし。




posted by db-engineer at 00:01 | Comment(0) | HTML、CSS

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド