Focus auf erstes Formularfeld setzen
Sebastian Becker
- javascript
Hallo,
ich möchte gerne bei einer Seite mit einem Kontaktformular den Fokus beim Betreten auf das erste Formularelement legen.
Wie im untenstehenden Skript wollte ich es machen, doch so funktioniert es leider nicht. Der Fokus wird damit entweder überhaupt nicht gesetzt oder er liegt beim Neuladen der Seite auf dem zuletzt ausgewählten Element. Jetzt komme ich mit meinem Latein nicht weiter.
Hat jemand eine Idee?
Danke für die Hilfe, Grüße
Sebastian Becker
-------------------------------------------------------------------
function setFocus()
{
var d = document;
for(frm=0;frm<d.forms.length;frm++)
{
for(fld=0;fld<d.forms[frm].elements.length;fld++)
{
var elt = d.forms[frm].elements[fld];
// if it's a text field or textarea
if (elt.type.indexOf("text") != -1)
{
// set focus on field
d.forms[frm].elements[fld].focus();
// select field
elt.select();
return true;
}
}
}
return true;
}
Aufruf mit:
body onLoad="setFocus();"
(bzw. mit einem Funktionsaufruf am Ende der Seite)
Hallo,
du gibts im HTML deinem Formular einen Namen zB <form name="formular" action="......>
das erste tag bennenst du zB
<input type="text" size="40" name="erster">
im body tag fügst du zB ein <body onLoad="fokusfunktion()">
im head bereich deiner datei fügst du einen kleinen JavaScript Code ein zB so :
<script language="JavaScript">
function fokusfunktion() {
document.formular.erster.focus();
}
</script>
So sollte es eigentlich klappen (habs nicht getestet)
Hallo,
danke für den Hinweis, so kann man es sicherlich machen ...
Da ich aber verschiedene Seiten mit unterschiedlichen Formularen habe, möchte ich den Focus gerne über ein externes JavaScript automatisch auf das jeweils erste Formularelement setzen, ohne dies jeweils referenzieren zu müssen. Diesem Zweck sollte das gepostete Script dienen.
Vielleicht hat noch jemand eine Ideee?!
danke, Grüße,
Sebastian Becker