Wie platziere ich den Cursor (Autofokus) im Textfeld, wenn eine Seite ohne Javascript-Unterstützung geladen wird?
88
Ich habe ein Formular mit einigen Textfeldern und möchte den Cursor (Autofokus) auf das erste Textfeld des Formulars setzen, wenn die Seite geladen wird.
@putvande - der Titel sagt "mit Javascript", also gib ihm eine Pause.
Tomer
Er sagte ohne JavaScript-Unterstützung.
Alejandro Nava
3
<bodyonLoad="self.focus();document.formname.name.focus()">
formname is <formaction="xxx.php"method="POST"name="formname">
and name is <inputtype="text"tabindex="1"name="name"/>
it works for me, checked using IE and mozilla.
autofocus, somehow didn't work for me.
Manchmal müssen Sie nur sicherstellen, dass sich der Cursor im Textfeld befindet: Klicken Sie auf das Textfeld. Wenn ein Menü angezeigt wird, klicken Sie auf "Textfeld formatieren", dann auf die Registerkarte "Textfeld" und ändern Sie schließlich alle vier Ränder (links, rechts, oben und unten) durch Pfeil nach unten, bis an jedem Rand "0" angezeigt wird.
<input.... tabindex="1" />
Antworten:
Es ist möglich, auf die Unterstützung von Javascript zu verzichten.
Wir können das HTML5- Autofokusattribut verwenden.
Beispiel:
Wenn Sie es (Autofokus = "Autofokus") im Textfeld verwenden, wird das Textfeld beim Laden der Seite fokussiert. Weitere Informationen:
http://www.hscripts.com/tutorials/html5/autofocus-attribute.html
quelle
autofocus
Fügen Sie einfach die erste Eingabe oder den ersten Textbereich hinzu.quelle
autofocus
funktioniert das nicht,autofocus="autofocus"
tut es aber .Das wird funktionieren:
quelle
quelle
Eine Erweiterung für diejenigen, die ein bisschen herumgespielt haben wie ich.
Die folgende Arbeit (aus W3):
Es ist wichtig zu beachten, dass dies in CSS jedoch nicht funktioniert. Dh du kannst nicht benutzen:
Zumindest hat es bei mir nicht funktioniert ...
quelle
Manchmal müssen Sie nur sicherstellen, dass sich der Cursor im Textfeld befindet: Klicken Sie auf das Textfeld. Wenn ein Menü angezeigt wird, klicken Sie auf "Textfeld formatieren", dann auf die Registerkarte "Textfeld" und ändern Sie schließlich alle vier Ränder (links, rechts, oben und unten) durch Pfeil nach unten, bis an jedem Rand "0" angezeigt wird.
quelle