Klaus Liebler: Zugriff auf das Objekt, das gerade den Focus hat

Hallo zusammen,
ich habe auf meiner Seite mehrere <INPUT type="text"... onkeydown="bla(ziel)"> Edit-Boxen definiert.

In "bla()" checke ich zunächst, ob die gedrückte Taste die Enter-Taste ist. Wenn ja, führe ich mit dem value der Edit-Box eine operation durch. Die Operation ist für alle Edit-Boxen gleich - ich möchte deshalb nur eine Funktion definieren. Hier ist mein Problem: Wie finde ich heraus, welche Edit-Box aktuell den Focus hat (d.h. in welcher Textbox ich die Enter-Taste gedrückt habe), damit ich auf deren Value zugreifen kann?

Danke, Gruß Klaus

  1. Hallo,

    ich hab so ein Problem folgendermaßen gelöst:

    1. jedem <input>-Element eine id verpasst.
    2. diese id immer als Parameter in der func angegeben
    3. per document.getElementById(<id>) das entsprechende Element gesucht
    4. die eigentliche Operation durchgeführt

    Probiers mal, bei mir funzts.

    marcobk

  2. Hallo Klaus

    ich habe auf meiner Seite mehrere <INPUT type="text"... onkeydown="bla(ziel)"> Edit-Boxen definiert.

    Wie finde ich heraus, welche Edit-Box aktuell den Focus hat (d.h. in welcher Textbox ich die Enter-Taste gedrückt habe), damit ich auf deren Value zugreifen kann?

    übergib an deine Funktion das betreffende Objekt:

    <INPUT type="text"... onkeydown="bla(ziel,this)">

    und in bla dann

    function bla(ziel,element) {

    var value=element.value;
    ....
    }

    Mit dem Schlüsselwort this übergibst du - stark vereinfacht gesagt - deine Checkbox an die Funktion und kannst auf deren Eigenschaften zugreifen.

    Viele Grüße

    Antje

  3. hi,

    indem Du Dir per onfocus einen flag setzt.

    <html>
    <head>

    <script language="javascript1.2">

    </script>

    </head>

    <body>

    <form name="ups">
    <input type="text" name="blah" onfocus="document.ups.aus.value=this.name"><br>
    <input type="text" name="lala" onfocus="document.ups.aus.value=this.name"><br>
    <input type="text" name="lulu" onfocus="document.ups.aus.value=this.name"><br><br>
    <input type="text" name="aus">
    </form>

    </body>
    </html>

    Gruesse  Joachim