ebarz: Problem mit firefox bei onmouseout in Input-Bereich

Guten Tag.

Ich habe ein Problem mit Firefox(1.5.0.2) bei folgendem Script:
<html>
<head>
<title>Test</title>
</head>
<body>
<br><input type="Text" name="xyz" value="xxx" size="10" maxlength="20" onmouseout="alert(this.value)">
</body>
</html>

Firefox reagiert schon beim eintretten in das Input-Feld und nicht erst beim verlassen des Input-Feldes(Es werden 2 aktionen registriert, aber auch nicht immer). Der Inhalt des Feldes sollte beim Verlassen des Input-Feldes verschickt werden.

Kennt jemand schon das Problem und kann mir helfen?

Danke und Gruß
ebarz

  1. Hallo,

    Der Inhalt des Feldes sollte beim Verlassen des Input-Feldes verschickt werden.

    Kennt jemand schon das Problem und kann mir helfen?

    Ich würde den Inhalt des Input-Feldes erst verschicken, wenn man das Input-Feld wirklich verlässt. Stell dir vor, der Anwender ist dabei etwas einzugeben und will mal schnell was umstellen oder kurz in einen anderen Tab wechseln.

    Es währe IMHO also gescheiter, den onblur-Eventhandler zu nehmen.

    Wenn du dich trotzdem nicht von deinem Vorhaben abbringen lassen willst, würde ich es so machen:

    • onblur-Handler verwenden
    • onmouseout das Eingabefeld verlassen mit blur()

    Hier mal umgesetzt.

    Einziger Unterschied: Mann muss erst mal in das Feld klicken, was ich aber eher als Vorteil sehe.

    mfg. Daniel

    1. Hallo Daniel,

      Super:-). Vielen Dank. Genau so sollte es es sein.

      An Struppi auch Dank, aber bei onBlur muss man außerhalb des Input-Feldes klicken bevor der Inhalt verschickt wird.

      Ist das Verhalten von Firefox bei onmouseout ein Fehler,ein Bug oder habe ich die Event-Händler mißverstanden?

      Gruß
      ebarz

      1. Hallo,

        Ist das Verhalten von Firefox bei onmouseout ein Fehler,ein Bug oder habe ich die Event-Händler mißverstanden?

        Zumindest scheint es das Problem nicht bei allen Elementen zu bestehen…
        Beispiel.

        Ob es sich um einen Bug handelt, oder so definiert ist, kann ich dir aber trotzdem nicht sagen.

        mfg. Daniel

      2. An Struppi auch Dank, aber bei onBlur muss man außerhalb des Input-Feldes klicken bevor der Inhalt verschickt wird.

        Muss man nicht, es gibt Menschen die navigieren mit der Tabtaste durch Formulare, bei denen funktioniert die onmouseout Variante eher nicht.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
  2. Du suchst onblur()
    Das ist der Event, der beim verlassen eines Formularelementes aufgerufen wird.

    Struppi.

    --
    Javascript ist toll (Perl auch!)
  3. Hi,

    <br><input type="Text" name="xyz" value="xxx" size="10" maxlength="20" onmouseout="alert(this.value)">
    Der Inhalt des Feldes sollte beim Verlassen des Input-Feldes verschickt werden.

    Der User klickt also in das Input-Feld, um dort etwas einzugeben. Um während der Eingabe besser zu sehen, was er eingeben will, schiebt er den störenden Mauszeiger zur Seite.
    Leider kann er jetzt nichts mehr eingeben, da das Feld schon verschickt wird ...

    Anderes Szenario (Struppi hats schon angedeutet):
    Der User setzt den Fokus per Tab-Taste auf das Eingabefeld, schreibt seinen Text rein und springt mit der Tabtaste weiter. In diesem Fall findet der Versand nicht statt.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.