Felix Riesterer: Automatisch das erste Eingabefeld aktivieren

Beitrag lesen

Lieber LastBoyScout,

onLoad="document.getElementsByTagName('input')[0].focus()"

wenn es kein passendes Ergebnis gibt (die getElementsByTagName-Methode liefert eine leere Liste), dann führt diese Anweisung natürlich zu einem Fehler.

Ich habe beobachtet, dass man die focus-Methode vor allem im IE nicht immer erfolgreich anwenden kann, sodass sich ihre Verwendung in einer try-catch-Kombination empfiehlt. Das kannst Du aber nicht sinnvoll im onload-Attribut notieren, sondern brauchst dazu einen "echten" JavaScript-Bereich - vorzugsweise im <head> Deines Dokuments.

Um nun im <head> sinnvoll Deine Aufgabenstellung umsetzen zu können, benötigst Du nicht mehr das onload-Attribut im öffnenden <body>-Tag, sondern eine bessere Lösung.

Wenn Du schon im <head> Dein JavaScript notierst, dann kannst Du diese Funktion auch gleich ausführlicher bauen:

function autoFocusFirstInput () {  
    var inputs = document.getElementsByTagName("input");  
  
    if (inputs[0]) {  
        // OK passendes Element gefunden!  
        try { inputs[0].focus(); }  
        catch (e) { console.log("Fehler beim Fokussieren:\n"+e); }  
    }  
}

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)