HTML form focus setzen

Metzlor

Lt. Commander
Registriert
Juni 2006
Beiträge
1.101
Hallo,

gibt es eine Möglichkeit, das ich einer Form den Focus gebe, ohne Javascript?

Gruß Metzlor
 
du meinst, dass wenn z.B. eine Seite geladen wird der Cursor automatisch in das Suchfeld springt und man gleich loslegen kann zu tippen?
 
In aktuellen HTML-Versionen: Gar nicht.

In HTML 5 gibt es das Attribut "autofocus", das genau das leisten soll, aber von heutigen Browsern im allgemeinen noch nicht unterstützt wird.
 
Google machts auch mit javascript. Warum solls denn unbedingt ohne sein? Ich sag mir immer, wenn der Benutzer (grundlegene) Sachen wie Javascript deaktiviert hat, kann er auch nicht erwarten dass alles einwandfrei klappt. Und bei dir handelt es sich ja auch nicht gerade um eine umbedingt notwendige Funktion, sondern eher um eine benutzerfreundlichere Schönheit. Darauf kann man ja auch eigentlich verzichten, wenn mal JS nicht aktiviert sein sollte. Aber trotzdem interessante Frage, denn auch JS sehr nützlich ist, wenns ohne geht ist es immer besser :D
 
xkynet schrieb:
Google machts auch mit javascript. Warum solls denn unbedingt ohne sein? Ich sag mir immer, wenn der Benutzer (grundlegene) Sachen wie Javascript deaktiviert hat, kann er auch nicht erwarten dass alles einwandfrei klappt.

Na, das ist nicht ganz richtig, möchte ich behaupten: Der Benutzer sollte das tun können, was er möchte - auch ohne JavaScript. Wenn er JavaScript hat, dann hat er ein bisschen Komfort zusätzlich, wie eben solche Autofocus-Geschichten. ;)

Ich weiß, dass du das ganz ähnlich meinst, aber es kann schnell missverstanden werden, meine ich. :)
 
Wenn er JavaScript hat, dann hat er ein bisschen Komfort zusätzlich, wie eben solche Autofocus-Geschichten.
Genau das habe ich gemeint, aber vllt nicht genau so gesagt. Danke für die Klarstellung.
 
Ich habe die Seite mal beim kollegen aufgerufen, im FF. Dort wird die Seite erst gar nicht geladen und es kommt oben eine Leiste, wo er erst mal erlauben klicken muß. Wenn er dies tut, kommt die Seite vorher nicht, obwohl es eine ganz kleine Loginfunktion ist. Das ist die gesamte Seite bis auf den Header

HTML:
<form name="login" action="login.php" method="post">
Name: <input type="text" name="name" class="Textbox" size="20" value=""><br>
Kennwort: <input type="password" class="Textbox" name="pwd" size="20" value=""><br> 
<input name="absenden" type="submit" class="breitebuttons" value="Login">
Code:
<script type="text/javascript">
document.login.name.focus();
</script>
</form>
 
Zuletzt bearbeitet:
Steht da auch, was man erlauben muss? Wenn die Seite lokal aufgerufen wird, kann es sein, dass man z.B. das Ausführen von Javascript beim IE erst bestätigen muss. Lösung: entweder jedesmal bestätigen oder Seite kurz auf Server hochladen. FF macht das aber eigentlich nicht.
 
Hallo,

ich hänge mich hier mal an, die Funktion focus habe ich schon lange per javascript verwendet.
Nur mit dem neuen Internet Explorer 9 geht es nicht mehr.
Ich selber habe nichts an den Einstellen bei IE9 gemacht.
Verwendung findet dies auf meinem Vokabeltrainer, Ihr könnt ja mal drauf schauen:
http://www.vokabeltrainer-online.net/
Oder meine Testseite die schon etwas aufgeräumter ist:
http://www.kochhome.de/cgi-bin/baseportal.pl?htx=/vokabeltrainer/vokabeltrainer_a77

Gibt es eine Lösung dafür?

Michael
 
Hallo,

drücke F12 im IE9, dann erhälst du:

SCRIPT5009: "vt" ist undefiniert
vokabeltrainer_a77, Zeile 23 Zeichen 1

SCRIPT5007: Für die Eigenschaft "focus" kann kein Wert abgerufen werden: Das Objekt ist Null oder undefiniert
vokabeltrainer_a77, Zeile 319 Zeichen 1

Warum genau das im IE9 nicht mehr geht, weiß ich nicht.
Aber du hast für dieses Formularfeld eine id vergeben, also benutze sie doch auch:

document.getElementById("edit-keys").focus();
 
Hallo,

wenn ich F12 drücke kommt das Entwicklertool, aber keine Hinweise auf Fehler.
Ich selber kann kein Javascript, das was ich verwende habe ich irgendwo rauskopiert, aber nicht immer komplett verstanden.
Den ersten Fehlerscript habe ich komlett gelöscht.
Kannst du mir mal helfen welche Zeile ich wie ändern muss.
In FF geht die Funktion focus noch.

Michael
 
Danke Blitzmerker,

nur weiss ich nicht wie ich den Fehler beseitigen muß.
Vielleicht ist jemand so freudlich und hilft mir dabei.

Michael
 
Hallo,

du suchst diesen Bereich in deiner Datei, ist fast am Ende:

PHP:
<b> <a target="_blank" href="http://vokabeltrainer-online.net/Hilfe.htm#Artikel">mehr ...</a></b>
<script type="text/javascript">
document.forms[0].antwort.focus();
</script>





</td>
  </tr>

</table>

</div> <!-- Ende Abfrage -->
</form>
und verschiebst den ganzen Script-Tag hinter </form> und änderst die eine Codezeile wie oben beschrieben ab:

PHP:
<b> <a target="_blank" href="http://vokabeltrainer-online.net/Hilfe.htm#Artikel">mehr ...</a></b>
</td>
  </tr>

</table>

</div> <!-- Ende Abfrage -->
</form>

<script type="text/javascript">
document.getElementById("edit-keys").focus();
</script>
 
document.forms[0].antwort.focus();
Unter Überwachung kannst du dann einen Teil der variable eintragen, um den Fehler zu finden -> antwort existiert nicht
1. Schritt ist es drin (<input name="antwort"...) -> Check
2. Schritt innerhalb der <form> -> Check
3. Schritt document.forms[0] <- richtiges Formular -> Bingo (Formular in Z. 49 und Z. 12x) -> forms[1]

@Kju:
Am besten bei body.onload()
Weil erst da sind alle GUI-Elemente garantiert dargestellt.
 
Zurück
Oben