• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit Formular: Klick or Enter?

Status
Für weitere Antworten geschlossen.

Joli

Neues Mitglied
hi
hab soeben leider feststellen müssen, das an meinen Projekt etwas nicht stimmt...
und zwar im IE wird eine Funktion nicht ausgeführt, wenn man das formular mit der Entertaste abschickt, sobald man es jedoch mit der Maus manuell abschickt funktioniert es einwandfrei.
Kann das an einem kleinen Javascript liegen, den ich für dieses Formular eingebaut habe?
HTML:
<script language="JavaScript">
<!-- 
document.abf.wort.focus();
//-->
</script>
Weil wenn ich mit Enter abschicke, ist unten links im IE ein Fehler angezeigt, von Javascript. Der Javascript wird nur innerhalb dieser Funktion gebraucht, sprich das Input-Feld "wort" gibt es nur wenn diese Funktion ausgeführt wurde.

Fehler: document.abf.wort ist Null oder kein Objekt

Das der Fehler entsteht ist eigl logisch, da ja die Funktion nicht ausgeführt wird, weil das Formular nicht "richtig" mit der Entertastegesendet wird.

kann mir jemand da helfen?

dankö
 
Werbung:
Wenn Du JavaScript ausführen willst, wenn ein Formular abgeschickt wird, solltest Du dafür den Event-Handler "onSubmit" im form-Tag verwenden, nicht onClick im Submit-Button!
 
Wenn Du JavaScript ausführen willst, wenn ein Formular abgeschickt wird, solltest Du dafür den Event-Handler "onSubmit" im form-Tag verwenden, nicht onClick im Submit-Button!

ich hab mich wohl falsch ausgedrückt:oops::oops:

ich shcik das Formular ganz normal mit Html ab, mit Javascript wird nur der Cursor in das Input-feld gesetzt.

Das eigl. Problem ist, dass es anscheinend bei IE einen Unterschied macht ob man mit Enter oder mit der Maus abschickt, zumindest ist das bei meinen PHP & HTML code so
 
Werbung:
Wenn Du das Formular wirklich nur per HTML abschickst, macht es keinen Unterschied, wie Du das tust.

Der Fehler liegt vermutlich woanders. Gib uns einen Link, dass wir uns das Phänomen ansehen und analysieren können!
 
Wenn Du das Formular wirklich nur per HTML abschickst, macht es keinen Unterschied, wie Du das tust.

Der Fehler liegt vermutlich woanders. Gib uns einen Link, dass wir uns das Phänomen ansehen und analysieren können!

ok hab schnell mal ein account angelegt;-)
Seite: voc.jezst.de
User: html
PW: html

dann auf Abfrage > Alle
dann einfach die Abfrage starten, mit der Maus absenden kommt man zur nächsten Vokabel und mit der Enter-taste flieg ich raus...

der Fehler tritt bei mir von jeden getesteten IEs auf
übrigens auch local bei mir auf dem PC
 
Ich vermute, das hat entweder mit den 23 Formularen zu tun, die Du auf Deiner Seite hast (wozu z.B. brauchst Du ein Formular für "quit", wenn Du da gar keine Formularwerte übergibst, da reicht auch ein normaler Link) oder aber der IE vergibt den Focus anders. Der steht jedenfalls nicht auf dem Formular mit der Worteingabe, denn er löst ja den Submit eines anderen Formulars aus.

Wie Du das behebst, kann ich Dir im Moment auch nicht sagen, aber vielleicht hilft Dir diese Marschrichtung weiter...
 
Werbung:
Ich vermute, das hat entweder mit den 23 Formularen zu tun, die Du auf Deiner Seite hast (wozu z.B. brauchst Du ein Formular für "quit", wenn Du da gar keine Formularwerte übergibst, da reicht auch ein normaler Link) oder aber der IE vergibt den Focus anders. Der steht jedenfalls nicht auf dem Formular mit der Worteingabe, denn er löst ja den Submit eines anderen Formulars aus.

Wie Du das behebst, kann ich Dir im Moment auch nicht sagen, aber vielleicht hilft Dir diese Marschrichtung weiter...

Danke schonmal...
Das Formular für Quit brauche ich, da wenn dieses abgesendet wird, ein paar Codezeilen ausgeführt werden, die bestimmte Sessions löscht.
Link würde auch gehen, aber so ein Button sieht schöner aus als ein Normaler link, daja auch schon links davon ein Button ist.

Hab jetzt etwas verändert, damit das focus() wieder richtig funktioniert und jedes mal den Coursor ins input feld setzt. Aber trotzdem tritt noch der Fehler auf mit der Enter taste. Ich hab mal geschaut, ein anderes Formular tut er auch nicht abschicken, da die GET Variablen in der URL nur zu diesem Formular gehören.


EDIT:
hab den Fehler gefunden, ich zitiere mal aus einen älteren Post im selfhtml forum ;-):

Hallo,

»» ich habe eine Frage und zwar wüsste ich gerne wovon es abhängt, wenn ein Formular mit der Enter-taste abgeschickt werden kann.

es ist eigentlich der Normalfall, dass man ein Formular mit der Enter-Taste absenden kann. Das funktioniert allerdings nicht, wenn
a) ein Formularelement focussiert ist, das die Enter-Taste selbst auswertet,
z.B. select-Elemente, Radiobuttons, Checkboxen

b) *gar kein* Formularelement focussiert ist, z.B. direkt nach dem Laden
einer Seite mit einem Formular
c) diese Grundfunktion mit Javascript verhindert oder manipuliert wird.

daran liegts wohl, da ich ja des input focusiere...
hat jemand eine Idee wie ich es trotz dem fokusieren, mit der enter taste absenden kann?
vllt. mit JavaScript?
wäre nett wenn jemand mir helfen könnte, bin ein Anfänger wenn es um JavaScript geht
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben