Moin moin zusammen,
zur Zeit bin ich dabei, einen Einstieg in Ajax zu finden. Dazu habe ich eine Seite gebaut, die sowohl auf klassische Weise wie auch über das XmlHttpRequest Daten überträgt.
Klassische Requests sollen auf zwei Wege ausgelöst werden können. Zum einen soll bei Drücken der "Enter" Taste in einem Textfeld submittet werden (=> Standartverhalten) und zum anderen habe ich Button vom Typ "Submit".
Einige dieser Button sind per Default deaktiviert. 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).
Er bekommt einen schwarzen Rand, wobei die Ränder rechts und unten dicker erscheinen. (Das Aussehen kann man auch generieren, indem man einen Button drückt und die Maus dann von der Schaltfläche runter bewegt).
Wenn ich jetzt mit "Enter" submitten möchte, gaukelt der IE6 vor, der entsprechende Button wäre gedrückt worden.
Da hinter Button teils komplexe Funktionen liegen, machht der Server folglich Mist...
Dieses Problem betrifft nur den IE. Außerdem ist es egal, bei welcher Komponente das "disabled" Attribut geändert wird. Es kann sich durchaus auch um ein Textfeld oder Ähnliches Handeln, damit das Problem auftritt.
Meine Frage ist jetzt, wie ich verhindern kann, dass ein Button "vorselektiert" werden. Eventhandler wie "onFocus" sprechen nicht an und auch direktes fokussieren eines anderen Buttons führt nicht zum Ziel.
Ein Ansatz von mir war, den Type der Button von "submit" auf "button" zu ändern und ein submit quasi zu Fuß auszulösen. Vorteil: Es werden keine Button mehr submittet, die nicht gedrückt wurden. Nachteil: Submit per "Enter" funktioniert gar nicht mehr, nachdem ein "disabled" Attribut geändert wurde.
Über Hilfe wäre ich sehr dankbar!
Viele Grüße
T-MO