Besi: Automatisch auf erstes Input-Feld springen

hello all!
Ich erzeuge dynamische Websiten. Ich möchte nun auf den Seiten, auf denen ein Formular vorhanden ist automatisch auf das erste inputfeld springen. Da es verschiedene Formulare sind, kann man das Inputfeld nicht mit Formname und Feldname ansprechen. D.h. es muss allgemeiner sein so etwa in der Form:
document.forms[0].inputfelder?[0].setFocus()
Wenn kein Feld vorhanden ist, soll das nicht ausgeführt werden da es sonst einen JS-Error gibt.

Wäre cool wenn ihr mir weiterhelfen könntet

Besten Dank Besi

  1. Hallo Besi,

    document.forms[0].inputfelder?[0].setFocus()

    Es sind keine inputfelder sondern Elemente ;)
    http://de.selfhtml.org/javascript/objekte/elements.htm

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
  2. Hallo,

    Ich erzeuge dynamische Websiten. Ich möchte nun auf den Seiten, auf denen ein Formular vorhanden ist automatisch auf das erste inputfeld springen. Da es verschiedene Formulare sind, kann man das Inputfeld nicht mit Formname und Feldname ansprechen. D.h. es muss allgemeiner sein so etwa in der Form:
    document.forms[0].inputfelder?[0].setFocus()
    Wenn kein Feld vorhanden ist, soll das nicht ausgeführt werden da es sonst einen JS-Error gibt.

    diese Funktion benutze ich immer, die hab ich mal auf eigendeinr Website gefunden

    // im Head reinkopieren
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function setzeCurser(){
      if (document.forms.length > 0) {
        var field = document.forms[0];
        for (i = 0; i < field.length; i++) {
          if ((field.elements[i].type == 'text') || (field.elements[i].type == 'textarea') || (field.elements[i].type.toString().charAt(0) == 's')) {
            document.forms[0].elements[i].focus();
            break;
          }
        }
      }
    }
    //-->
    </script>

    // body Tag
    <body onload="setzeCurser()">

    1. Hallo,

      kann mir einer sagen, wofür das "field.elements[i].type.toString().charAt(0) == 's'" eigentlich da ist?

      1. Hallo Badboy46,

        kann mir einer sagen, wofür das "field.elements[i].type.toString().charAt(0) == 's'" eigentlich da ist?

        Vermutlich für das einzige Element, das mit einem s beginnt, den Submit-Button. So soll wohl der Fokus auch auf diesen gesetzt werden sofern er das erste Element in dem Forumlar ist.

        Grüße
          David

        --
        >>Nobody will ever need more than 640k RAM!<<
        1981 Bill Gates