IE5 - Formularversand mit Enter piept
Alex
- javascript
0 Alex
Hallo Forum,
ich habe das Problem, daß mein Eingabeformular beim "Absenden" mit der [ENTER]-Taste fünfmal piepst. Der Versand funktioniert zwar, aber das Piepen nervt.
Das ganze muß ausschließlich im IE5 laufen (Intranet).
Der Quelltext sieht an dieser Stelle folgendermaßen aus:
<form name="Eingabe" action="Lexikon.html">
Suche nach
<input name="SuchVar" type="text" size="16">
<input type="reset" style="width:22; height:22;" value="!"
onClick="SucheManuell()" name="reset">
<input name="SuchVar2" type="text">
</form>
<script language="JavaScript">
<!--
function Ausloeser(Taste)
{
if (document.layers){ if (taste.which == "13") SucheManuell(); }
else if (window.event.keyCode == "13") SucheManuell();
}
document.Eingabe.SuchVar.onkeypress = Ausloeser;
//-->
</script>
Das zweite Textfeld ist eigentlich gar nicht notwendig, lasse ich es aber weg, verursacht das Drücken der Enter-Taste immer einen Reload - weil der IE versucht, die Formulareingabe an die unter form action="" genannte Datei weiterzugeben. Dabei sollte er eigentlich die Funktion SucheManuell() starten.
Offensichtlich ist das Piepsen die Fehlermeldung des IE, daß er dieses Formular mit zwei Eingabefeldern nicht per Enter abschicken kann. Die JavaScript-Funktion tut dieses dann jedoch tadellos.
Also die Frage:
Wie bekomme ich entweder
1. das Piepsen einfach weg
2. den IE dazu, beim Drücken von Enter nicht die Seite neuzuladen, sondern einfach die Funktion SucheManuell() auszuführen???
Dazu noch folgendes:
Der Button, den ich oben "reset" genannt habe, kann entweder als button oder als reset deklariert werden, nich aber als submit, weil dann ebenfalls die Seite neu lädt.
Welche form action müßte ich nehmen, daß das klappt???
Ciao,
Alex.
Hallo nochmal,
das Problem hat sich erledigt, ich war auf der Leitung gestanden.
Wenn man form action="javascript:SucheManuell()" nimmt, den Button zu type="submit" macht, das onClick="SucheManuell()" sowie das zweite Textfeld (SuchVar2) entfernt, dann klappt alles.
Ciao,
Alex.