Wenn Sie "enter" eingeben, wird das Formular nicht in IE8 gepostet

8

Ich verwende PHP, um bei Bedarf ein Anmeldeformular zu übergeben, und hier ist der Code:

%Vor%

Das Problem ist, dass, wenn der Benutzer in IE8 die Eingabetaste drückt, das Formular nicht übermittelt wird und der Benutzer gezwungen ist, die Senden-Schaltfläche zu drücken.

Wie behebe ich das?

    
bear 08.06.2009, 12:42
quelle

7 Antworten

2

Wenn dies ein echtes Problem ist und Sie keine andere Lösung finden können, können Sie immer ein onkeypress -Ereignis für das Formular eingeben und prüfen, ob die Enter -Taste gedrückt wurde.

BEARBEITEN: Hier ist der korrekte Code gemäß der Antwort von Machine:

%Vor%

EDIT 2: Dein HTML ist gültig. Versuchen Sie das :

%Vor%     
the_drow 08.06.2009, 12:57
quelle
13

Achte auch auf diesen spaßigen Spaß-Bug:

Ich habe auf die harte Tour gelernt, dass wenn Ihr Formular display:none beim Laden der Seite ist, auch wenn Sie es später mit Javascript zeigen, wird IE8 immer noch nicht bei Enter einreichen. Wenn es jedoch beim Laden der Seite nicht ausgeblendet wird und Sie es wie bei onDOMReady auf display:none setzen, funktioniert es! WTF

Weitere Details und Umgehungsmöglichkeiten finden Sie hier: Ссылка

    
adamJLev 22.09.2009 16:30
quelle
7

Simuliert einen Klick

So mache ich das in jQuery.

%Vor%     
Nathan Long 07.01.2011 18:41
quelle
4

Hier ist ein Link in Microsoft, der Ihnen etwas Licht geben könnte.

Bei einer kurzen Lektüre des Links könnte es sich tatsächlich um einen Fehler handeln, der das Formular mit der Eingabetaste übermittelt, von der ich annehme, dass sie von Microsoft für IE8 behoben wurde.

IE-Anomalie, wenn Sie die Eingabetaste zum Senden eines Formulars verwenden

Bearbeiten:

Dies wurde jetzt entfernt, aber ein weiterer Link deckt ihn wieder ab (unten) Seite), die definiert und erklärt der Fehler im IE Blog am 18. Dezember 2008 .

    
kevchadders 08.06.2009 13:25
quelle
3

Haben Sie ein öffnendes Formular-Tag, das gerade aus Ihrem Code-Snippet weggelassen wurde?

    
PatrikAkerstrand 08.06.2009 13:03
quelle
1

Das Attribut action für das Element form wird von der HTML-Spezifikation benötigt. Vielleicht wird es besser funktionieren.

    
Alsciende 08.06.2009 13:25
quelle
1

Ich konnte dies auch mit einer Aktion und Methode reproduzieren. Streiche den ganzen anderen Code auf der Seite und es wird immer noch produziert. Ich habe jedoch gesehen, dass Formulare in IE8 mit action=""

funktionieren     
David 18.09.2009 14:01
quelle

Tags und Links