[ IE6対策 ] 選択していないsubmitのnameとvalueが送信されてしまう対策

忘れたころにやって来るIE6対応のWEB。。。

<form method=”post”>
<input type=”submit” name=”cmd” value=”追加” />
<input type=”submit” name=”cmd” value=”編集” />
<input type=”submit” name=”cmd” value=”削除” />
</form>

追加をクリックしたら、cmd=追加 のみ送信してほしいですよね。
ところが、IE6の場合は、クリックしていない ボタン の値を全て送信してくれます。クリックしたボタンで処理を分けたい場合は致命的です。

毎回はハマって時間を費やしてしまうのでメモ。さすがにdisabled は機能してくれます。

$(function(){
	//選択していないsubmitのname=valueが送信されてしまうIE6対策
	$('input[type=submit],button[type=submit]').click(function(){
		$('input[type=submit],button[type=submit]').attr('disabled','disabled');
		$(this).removeAttr('disabled');
	});
});