Problem mit firefox bei onmouseout in Input-Bereich
ebarz
- javascript
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
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
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
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
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.
Du suchst onblur()
Das ist der Event, der beim verlassen eines Formularelementes aufgerufen wird.
Struppi.
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