DieKerstin: document.getElementById("myInputfield").focus = true; geht nicht

Hallo,

ich möchte den cursor per Javascript in ein bestimmtes Formularfeld setzen.

Ich habe dazu:
document.getElementById("myInputfield").focus = true;
...
<input id="myInputfield" type="text" ... >
versucht. Das klapt aber nicht.

Kann ich einem Formularfeld den focus geben _ohne_ dass das Formular einen Namen hat?

LG Kerstin

  1. Hi,

    document.getElementById("myInputfield").focus = true;

    wo hast Du das her?

    Kann ich einem Formularfeld den focus geben _ohne_ dass das Formular einen Namen hat?

    Auf exakt die selbe Weise die Du benutzt, wenn das Formularfeld einen Namen hat. Die Referenzierung des Feldobjektes ist anders, aber die focus()-Methode beeindruckt das kein bisschen. Sie bleibt eine Methode.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      document.getElementById("myInputfield").focus = true;
      aber die focus()-Methode beeindruckt das kein bisschen. Sie bleibt eine Methode.

      Außer wenn man sie mit true überschrieben hat ;-)

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      O o ostern ...
      Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  2. Hi,

    ich möchte den cursor per Javascript in ein bestimmtes Formularfeld setzen.

    Ich habe dazu:
    document.getElementById("myInputfield").focus = true;

    Damit gibst du dem Feld eine neue Eigenschaft namens focus mit dem Inhalt true.

    Das klapt aber nicht.

    Doch, das klappt.
    Es ist aber nicht das, was du willst.
    Du möchtest vermutlich die Methode focus des Formularelements aufrufen.

    Kann ich einem Formularfeld den focus geben _ohne_ dass das Formular einen Namen hat?

    Wie du auf das Feld zugreifst, ist vollkommen egal.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
  3. Kann ich einem Formularfeld den focus geben _ohne_ dass das Formular einen Namen hat?

    Wie du ein Element selektierst bzw. eine Elementreferenz im DOM erzeugst spielt erstursächlich keine Rolle.

    Die http://de.selfhtml.org/javascript/objekte/elements.htm#focus@title=Doku lesen wäre ein schritt in die richtige Richtung.

  4. Hallo,

    danke für die vielen, schnellen Antworten aber ich habe nicht richtig begriffen, was Ihr mir damit sagen wolltet.

    Ich habe dem Formular einen Namen gegeben und mache es jetzt mit:
    document.formularname.feldname.focus()

    LG

    Kerstin

    1. Hi,

      danke für die vielen, schnellen Antworten aber ich habe nicht richtig begriffen, was Ihr mir damit sagen wolltet.

      <monologue type="inner"> Sollte ich Überraschung heucheln? </monologue>

      Ich habe dem Formular einen Namen gegeben und mache es jetzt mit:
      document.formularname.feldname.focus()

      Na also, jetzt hast du den wesentlichen Unterschied ja doch erkannt, auf den du hingewiesen wurdest - oder?

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.
    2. Hiho!

      danke für die vielen, schnellen Antworten aber ich habe nicht richtig begriffen, was Ihr mir damit sagen wolltet.

      Das was da unten steht.

      Ich habe dem Formular einen Namen gegeben und mache es jetzt mit:
      document.formularname.feldname.focus()

      document.getElementById("myInputfield").focus();

      Beides ist der Aufruf der Methode focus() des entsprechenden Inputsfelds.

      document.getElementById("myInputfield").focus = true;
      und
      document.formularname.feldname.focus = true;

      Erstellen beide eine Eigenschaft mit dem Namen "focus", der der Wert "true" zugewiesen wird. Bis zu diesem Augenblick hatte Dein Eingabefeld noch keine Eigenschaft mit diesem Namen. Sie macht natuerlich auch nichts, ausser einen Wert zu speichern.

      --
      "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
            - T. Pratchett
      1. Hallo,

        Erstellen beide eine Eigenschaft mit dem Namen "focus", der der Wert "true" zugewiesen wird. Bis zu diesem Augenblick hatte Dein Eingabefeld noch keine Eigenschaft mit diesem Namen. Sie macht natuerlich auch nichts, ausser einen Wert zu speichern.

        sie macht noch etwas viel Ungüstigeres: Sie ersetzt (überschreibt) die vorher vorhandene Methode gleichen Namens.

        So long,
         Martin

        --
        Es existiert kein Weg, "für" etwas zu optimieren, sondern nur gegen alles andere.
          (Cheatah)