Focus in Formularfeld klappt nicht im iframe

dwex

Erfahrenes Mitglied
Hallo Leute,

ich nutze vor eine Website um Formulare zu öffnen Thickbox.
In den Formularen habe ich folgendes angegeben
HTML:
<body onload="document.form.leistung.focus();">
um den Focus auf ein bestimmtes Formularfeld zu legen.

Solange ich das Formular ohne Thickbox-Parameter aufrufe macht er mir den Focus in das gewünschte Inputfeld - jedoch wenn ich den Thickbox-Paramter für iframe in der URL übergebe dann macht er mir den Focus nicht mehr rein.

Das Lustige ist das wenn ich dann den Iframe über meinen Browser aktualisiere dann ist der Focus plötlich da.
Ich habs mit IE7 und FF3 getestet.

Hat jemand Erfahrungen damit bzw. eine Lösung?
Vielen Dank für euere Bemühungen im voraus!
 
Zuletzt bearbeitet:
Moin,

ich bin da jetzt zu Faul zu gucken, aber ich schätze mal thickbox setzt da auch irgendwo nen Fokus.

Du könntest mal probieren, den Fokus etwas zeitverzögert nach dem onload zu Setzen.

<edit>
Hab meine Faulheit überwunden :-)

Ein Fokus wird da nicht gesetzt von thickbox, soweit ich sehe.
Als Problem vermute ich Folgendes:
Thickbox zeigt das iFrame an, sobald im entsprechenden <iframe>-Element der onload feuert.
Der onload, den du im <body> gesetzt hast, feuert aber vorher.
Ergebnis wäre, dass der Fokus auf etwas gesetzt werden soll, was keinen Fokus haben kann....weil nicht sichtbar(Browser kommentieren das oft mit einer Fehlermeldung a la "Das Steuerelement kann den Fokus nicht erhalten, weil es ausgeblendet ist")

Die Lösung dafür wäre aber die selbe...Zeitverzögerung.
</edit>
 
Zuletzt bearbeitet:
Servus Sven,

wenn ich dich richtig verstanden habe dann meinst du sowas hier:
HTML:
<body onload="window.setTimeout("document.form.leistung.focus() ",5000);">
Hätte ich mal so eingebaut - funktioniert aber auch nicht - oder habe ich hier (wahrscheinlich) einen Denkfehler?

Viele Grüße
 
Jo, so hatte ich es gedacht , ist nur nen kleiner Syntaxfehler drinnen.
So sollte es gehen : (beachte die einfachen Anführungszeichen, die doppelten dort haben den Fehler verursacht)

Code:
<body onload="window.setTimeout('document.form.leistung.focus() ',500);">
 
Sven du bist genial - wie immer

Jetzt gehts ohne Probleme.
Vielen Dank - langsam werde ich hier wegen der ganzen Beerware so richtig lustig ;)
 

Neue Beiträge

Zurück