Maja: Formular wird durch Drücken der Eingabetaste abgeschickt

Beitrag lesen

Hi Silke!

Ja, ja diese inkonsistenten Eingabeprozeduren zwischen SAP und HTML - nur mal so am Rande: Wie macht das SAP bei mySAP?

Ich habe mir das auch gerade mal angesehen und festgestellt, dass im IE 5.x und in NN 6.2 die Return-Taste das Formular abschickt. Beim NN 4.7 passiert nach Return gar nichts.

Meine erste Idee war zur Unterscheidung von Return und Submit-Button JavaScript einzusetzen:

<form onSubmit="alert('submit')"> vs.
<input type=submit onClick="alert('button')">

Leider bringt das nichts, da mit einem Return nicht nur der Submit-Event ausgelöst wird, sondern auch der Click-Event des Buttons ;-(

Eine andere Möglichkeit wäre nicht den "richtigen" submit-Button <input type=submit> zum Abschicken zu verwenden, sondern einen anderen, der dann nicht automatisch mit return ausgelöst wird. Problematisch an dieser Konstrution ist allerdings, dass das Formular nur noch mit eingeschaltetem JS funktioniert.

<form name=formular action="mailto:me@form.de" method="post">
  Feld 1 <input name=feld1 type=text onChange="document.formular[1].focus()"> <br>
  Feld 2 <input name=feld2 type=text onChange="document.formular[2].focus()"> <br>
  Feld 3 <input name=feld3 type=text onChange="document.formular[0].focus()"> <br><br>

<input type=button value="abschicken" onClick="submit()">
</form>

Bei obigem Beispiel funktioniert nun das Springen von Feld zu Feld mittels Return nur mit NN 6.x (beim IE wird wohl onChange nur über Tab oder Klicken auf einen anderen Bereich ausgelöst) und das Abschicken funktioniert nur mit IE 5 (mit Netscape nicht, da als action "mailto" angegeben wurde s. http://selfhtml.teamone.de/javascript/objekte/forms.htm#submit mit einem "normalen" PHP- oder Perl-Skript sollte es aber gehen).

Maja