Christian: in INPUT-Feldern auf Tastatureingaben reagieren

Hallo,

ich habe folgendes Problem:

Mein Input-Feld
<input name="sucheNach" type="text" id="sucheNach" onchange="springe(value)">
soll sofort nachdem eine Taste gedrückt wurde die JS-Methode "springe()" aufrufen und der aktuelle Wert des Feldes soll verarbeitet werden. (Sinn: In einem Select-Feld soll dann an die entsprechende Stelle gesprungen werden)

Leider funktioniert das bei mir nicht mit onChange, da onChange komischerweise erst ausgelöst wird, wenn die Eingabe fertig ist, also wenn der Fokus das Input-Feld verlässt. Und das verstehe ich nicht!

Wer kann mir da helfen?

Schöne Pfingsten und Grüße aus München!

Christian

  1. hi,

    Mein Input-Feld [...]
    soll sofort nachdem eine Taste gedrückt wurde die JS-Methode "springe()" aufrufen [...]
    Leider funktioniert das bei mir nicht mit onChange, da onChange komischerweise erst ausgelöst wird, wenn die Eingabe fertig ist, also wenn der Fokus das Input-Feld verlässt. Und das verstehe ich nicht!

    die änderung ist eben erst beendet, wenn du deine eingabe fertig hast. onChange ist nicht dafür gedacht, bei jeder detailveränderung anzuspringen, sondern eben erst nach der kompletten änderung.

    probiere es für deinen fall mal mit onKeyup im input-feld.

    gruss,
    wahsaga

  2. Hi,

    Leider funktioniert das bei mir nicht mit onChange, da onChange komischerweise erst ausgelöst wird, wenn die Eingabe fertig ist, also wenn der Fokus das Input-Feld verlässt. Und das verstehe ich nicht!

    onKeyPress ist dein Freund: http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onkeypress

    HTH

    wunderwarzenschwein

    --
    ss:} zu:$ ls:} fo:| de:] va:) ch:? sh:( n4:# rl:? br:> js:| ie:( fl:{ mo:)
  3. Hi,

    <input name="sucheNach" type="text" id="sucheNach" onchange="springe(value)">
    soll sofort nachdem eine Taste gedrückt wurde die JS-Methode "springe()" aufrufen und der aktuelle Wert des Feldes soll verarbeitet werden. (Sinn: In einem Select-Feld soll dann an die entsprechende Stelle gesprungen werden)

    Leider funktioniert das bei mir nicht mit onChange, da onChange komischerweise erst ausgelöst wird, wenn die Eingabe fertig ist, also wenn der Fokus das Input-Feld verlässt. Und das verstehe ich nicht!

    Es wäre nicht nur komisch, sondern falsch, wenn das Event onchange vor dem Fokus-Wechsel ausgelöst würde.

    Das ist so definiert:

    onchange = script [CT]
        The onchange event occurs when a control loses the input focus and its value has been modified since gaining focus. This attribute applies to the following elements: INPUT, SELECT, and TEXTAREA.

    (siehe auch: http://www.w3.org/TR/html401/interact/scripts.html#adef-onchange)

    Wenn Du auf Tastendrücke reagieren willst, guck Dir die onkey... Eventhandler an.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/