non funziona proprio come dici tu..
cmq ho fatto cosi se a qualcuno servisse:

<input type="image" src="a.gif" onclick="theform.submit(); this.disabled='true';" />