dedlfix: "Vorselektion" eines falschen Button durch IE

Beitrag lesen

echo $begrüßung;

Wenn ich jetzt per Javascript das "disabled" Attribut entferne, wird pauschal der erste, zur Zeit verfügbare Button "vorselektiert" (Der erste im DOM, der auf dem Bildschirm sichtbar ist und nicht disabled).

Es besteht kein Zusammenhang zwischen der Position eines Elements im DOM und seiner Position auf dem Bildschirm. CSS-Formatierung macht es möglich, Elemente beliebig umzusortieren.

Meine Frage ist jetzt, wie ich verhindern kann, dass ein Button "vorselektiert" werden.

Die Buttons kennen im Web-Umfeld kein "Default"-Attribut, so wie es die Windows-GUI bereitstellt. Du kannst es also nicht direkt beeinflussen, welcher Button der Default-Button wird.

Wenn ich jetzt mit "Enter" submitten möchte, gaukelt der IE6 vor, der entsprechende Button wäre gedrückt worden.

Dieses Verhalten konnte ich beim IE nicht beobachten, wohl aber beim FF. Die HTML-Spezifikation lässt sich im Kapitel Forms nicht eindeutig darüber aus, was mit den Buttons passieren soll, wenn ein Formular per Enter abgesendet wird. Der IE sieht einen nicht gedrückten Button nicht als "successful" an, und sendet kein Name-Value-Pärchen.

Da hinter Button teils komplexe Funktionen liegen, machht der Server folglich Mist...

Vielleicht solltest du nicht so sehr auf die Buttons bauen, wenn man zum einen gar keinen braucht, um das Formular abzusenden, und zum anderen du dadurch keine eindeutig auszuführende Aktion bestimmen kannst. Vielleicht wäre eine Auswahl der Aktion per Radio-Button, Select-Element und dergleichen sinnvoller.

echo "$verabschiedung $name";