Hast du schon mal versucht mehrere <button type="submit" ...> im IE(!) zu verwenden und herauszufinden, welcher zum Absenden verwendet wurde?
Und hat das denn nun schon einmal jemand nachgemacht in einem anderen Browser, als dem IE5.5?
<input type=submit>
IE 6 tut wie du es erwartest. Enter = return, Klick = senden.
FF (1.0.1) sendet beim Entern "senden". Bei mehreren submits mit gleichem name und unterschiedlichem value wird auch der erste value gesendet.
<button type=submit>
Das Problem im IE ist nicht der eine sondern das Unterscheiden von mehreren <button>s.
Zum einen sendet er nicht den value sondern den HTML-Code der zwischen <button> und </button> steht.
Zum anderen sendet der IE immer alle button-Inhalte egal ob geentert oder der eine oder der andere geklickt wurde. Gleiche names überschreibt PHP, so dass du dann immer den letzten Button-Inhalt bekommst.
Der beste Workaround ist dann immer noch dieser (meiner Meinung nach):
<input type="hidden" name="submit" value="return">
<button type="submit" onclick="name='submit';value='button1'">foo</button>
<button type="submit" onclick="name='submit';value='button2'">bar</button>