Formular per Enter Taste absenden

Dörti.Hermi

Erfahrenes Mitglied
Hallo zusammen!

Folgende Aufgabenstellung:
Hab ein Formular, dass entweder per Mausklick auf den Submit-Button (eben ganz normal) oder per ENTER-Taste abgeschickt werden soll.
Formular:
HTML:
<form action="./search.php" method="post" name="searchForm">
   <input type="text" style="width: 500px;" name="suchbegriffe" onKeyPress="return submitenter(this,event)"/>
   <input type="submit" name="suchen" value="Suchen"/>
</form>

JS-Code dazu:
Code:
function submitenter(myfield,e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	
	if (keycode == 13) //Enter
	   {
	   myfield.searchForm.submit();
	   return false;
	   }
	else
	   return true;
}

Hab diese Lösung über Google gefunden, funktioniert aber nicht so richtig.
Urpsrünglich wollte ich ja eine textarea als Eingabefeld nutzen, aber dass hat ja mal überhaupt nicht funktioniert. Dann bin ich draufgekommen, dass, wenn das Eingabefeld ein input type="text" - Feld ist, Firefox automatisch die Enter-Taste als Submit-Event erkennt - nur eben der IE wieder mal nicht. Im Prinzip such ich jetzt eine Lösung, bei der der IE auch versteht, dass das Formular per ENTER-Taste abgeschickt wird. Firefox bräuchte an und für sich ja keine JS, um das zu verstehen.

Hoffe jemand kann mir helfen.
LG Andi
 
Hi,

der IE (getestet in 6 bis 8) schickt bei mir dieses Formular problemlos ohne Zuhilfenahme von JS per "Enter"-Taste ab.

HTML:
<form action="./search.php" method="post" name="searchForm">
   <input type="text" style="width: 500px;" name="suchbegriffe" />
   <input type="submit" name="suchen" value="Suchen"/>
</form>


mfg Maik
 
Danke für die schnelle Antwort.

Hab's genauso jz drinnen (eh nur ohne den JS-Aufruf oder?), aber beim IE (6 bzw. 8) funktionierts noch immer nicht. Er lädt mir immer wieder nur die Seite neu...:confused:
 
Kann ich "so" nicht bestätigen :-)

HTML:
<form action="http://google.de" method="post" name="searchForm">

ie.jpg

mfg Maik
 
Vielleicht habe ich mein Problem falsch formuliert.
Du hast an sich recht, dass der IE die ENTER-Taste erkennt, das Problem ist aber, was nachher geschieht.

Während der Firefox anschließend das ausführt, was in
PHP:
if(isset($_POST['submit']))
       //Code
steht, tut das der IE nicht! Er lädt einfach die Seite neu.
 
Die Methode submit() hat glaube ich ein Problem damit das du in deinen Form TAG ein submit Button setzt
entferne das <input type="sumit".... einfach mal und teste es dann nochmal dann söllte es eigentlich gehen,
wenn ja dann für den fehlenden Button ein normalen machen der bei onclick eine function aufruft die das Formular auch mit der Methode submit() verschickt ....
 
Nun ja, die Lösung sollte ja eigentlich ohne JS funktionieren. Wenn ich keinen Submit-Button habe, dann kann das Formular ja nicht wieder gewohnt über ENTER abgeschickt werden. So müsste ich ja dann eine komplett auf JS basierte Lösung mit submit() nutzen. Aber das kann's doch nicht sein oder?!
Ich verwende derzeit ja überhaupt kein JS. Die Browser wissen automatisch, was beim Druck auf ENTER zu tun ist. Abschicken tun's ja beide Browser, nur der IE verarbeitet dann eben die Daten nicht.

lg
 
Sry ja, meinte ich ja ;) Ändert aber nichts an der Tatsache, dass er nicht das tut, was er tun soll. Frage dann nur, warum machts der Firefox richtig?!
 
Tut mir leid, jegliche Formulare, die ich im IE per Enter absende, werden ordnungsgemäß verarbeitet - als Beispiel sei der Login hier im Forum, oder auch die Suchmaske von Google genannt.

mfg Maik
 

Neue Beiträge

Zurück