Internet Explorer und die interpretation von Buttons

Komischer weise ist das mir noch nie aufgefallen aber als ich heute einen Bug fixen sollte, war ich mal wieder richtig geschockt wie sich der IE mal wieder mit Händen und Füßen gegen Standards wärt.

<button type="submit" name="mode" value="preview">Vorschau</button>
<button type="submit" name="mode" value="insert">speichern</button>

Beim klicken auf den Button „Vorschau“ passiert folgendes:

  • Der IE 6 (und älter) überträgt mode=Vorschau&mode=speichern
    – das Script wertet den letzten Wert aus, also mode=speichern
  • Der IE 7 überträgt mode=Vorschau
  • Opera und Firefox übertragen mode=preview

So bekam ich im IE eine PHP Error, den ich mir nicht erklären konnte da im FE lief alles lief. Und normalerweise PHP ja auf dem Server kompiliert. Da aber im value eine ID stand und im dem IE ein Sting übergeben wurde, war der fehler gefunden.

Lösung:
Entweder hidden Felder nutzen oder links verwenden.

Quelle: notizen.joergkrusesweb.de