2010年6月18日金曜日

imageボタンのform二重送信に要注意

WEBアプリの画面デザインにはimageボタン(<input type="image" ...>)がよく利用されます。
仕様によって、onclick属性にjsの関数を記述して
その関数からform.submit()を呼び出して送信することもよくありますが、
imageボタン自身がformの送信も起こせますので、
ブラウザによってformの二重送信になってしまいます。
Firefoxでは特に問題ないですけど、
IEの場合には、容赦なく二重に送信してしまう。
解決方法としては

<a ... onclick="..." ><img src="..."></a>

のようにすることもいけますが、

<input type="image" ... onclick="xxx();return false;">

のようにimageボタンのonclickの最後に「return false;」
を付加する方法は一番シンプルを思います。

0 件のコメント:

コメントを投稿