letavino
Goto Top

Kleinen Problem mit focus()

Guten Tag,
ich bin dabei, mit ein paar kleinen Details meine in PHP programmierte Seite zu verbessern.
Da ich sonst meist versucht habe, alles möglichst ohne JS zu lösen, stoße ich hier auf folgenden Problem:

Ich möchte beim Laden einer bestimmten PHP Seite einen Fokus auf ein Eingabefeld legen.
Dabei wäre es schön, alles was mit der speziellen Seite zutun hat auch in der gleichen PHP Datei stehen zu haben.
Mein Versuch klappt aber leider nicht, obwohl andere Funktionen von JavaScript (zb: onmouseover) funktionieren.

<code type="php>
echo'
<div id="suche">
<script>
<!--
document.suchform.suche.focus();
// -->
</script>
<form method="post" name="suchform">
<input type="text" name="suche">
<input type="submit" name="suchen" value="Suchen">
</form>
</div>
';


Wo liegt mein Fehler?
Oder ist es unumgänglich Funktionen im HEAD zu formulieren?

Lg, Florian

Content-Key: 163799

Url: https://administrator.de/contentid/163799

Printed on: April 25, 2024 at 13:04 o'clock

Member: nxclass
nxclass Apr 01, 2011 at 12:13:41 (UTC)
Goto Top
Das Problem wird sein, dass das Formelement beim Ausführen des JS codes noch nicht existiert.
window.onload = function()
{
 document.suchform.suche.focus();
}
Erst wenn die Seite aufgebaut ist, kann man sicher sein auch auf ein Element zugreifen zu können.
Member: Letavino
Letavino Apr 01, 2011 at 12:26:46 (UTC)
Goto Top
Hört sich sinnig an.
Und 'onload' lässt die Funktion erst nach beenden des Seitenaufbaus starten?

Leider funktioniert es immernoch nicht.
Könnte es vielleicht mit dieser Zeile aus der Index zusammen hängen?

<body onload="javascript:self.focus();document.form_select.str_filter.focus()">  
Member: nxclass
nxclass Apr 02, 2011 at 13:04:58 (UTC)
Goto Top
ja - das überlagert sich dann ... lass es mal weg das onload Attribut.
Member: Letavino
Letavino Apr 05, 2011 at 08:57:18 (UTC)
Goto Top
Tut mir leid, dass ich erst jetzt antworten kann, aber ich bin erst heute wieder an der Arbeit um deine Idee zu testen.

Es funktioniert nun soweit alles, ohne Probleme.
Es scheint wirklich daran gehangen zu haben.

Vielen Dank für deine Hilfe! face-smile

Lg, Florian