Maja: warum beendet Enter das Formular? (beim NC)

Beitrag lesen

Moin moin!

D.h. bei nur einem <input type=text>-Feld wird nach Return automatisch (bei IE und NN) das im form-tag unter action angegebene Skript gestartet.

Und das ist genau das, was die HTML-Spezifikation verlangt,

Also nochmal: Es geht darum aus usability-Gründen usern, die überwiegend SAP R/3 verwenden (und da wird nach einer Eingabe mit der Return-Taste von Feld zu Feld gesprungen) diese Funktionalität auch auf Webseiten anzubieten. Jetzt war das Problem, dass dies mit einem <input type=submit>-Button nicht geht, da mit einem Return auch der click-Event für den Button ausgelöst wird.

Ein Workaround war nun den originären submit-Button weg zu lassen und das Abschicken des Formulars über einen einfachen button <input type=button onClick="submit()"> und der JS-Funktion submit() zu erledigen.

So weit so gut, nun stellt sich aber heraus, dass - auch ohne einen dezidierten submit-Button und _einem_ <input type=text>-Feld - dennoch ein Return reicht um das Formular abzuschickem. Dies ist aber bei einem Formular mit _zwei_ <input type=text>-Feld _nicht_ so!! Läßt man hier auch den <input type=submit>-Button weg passiert nach einem Return nichts!

imho hat dieses Verhalten des Browsers nichts mit einer HTML-Spezifikation zu tun, ich lass mich da aber gerne eines besseren belehren. Bei einer groben Suche in den RFCs habe ich nichts gefunden.

Allerdings wundert mich, dass der IE es auch so macht, der war eigentlich dafuer bekannt, dass er an dieser Stelle die Spec (mal wieder) nicht einhaelt. Welche Version hast Du denn verwendet?

5.00

Hmm, was fangen wir jetzt damit an?

War auf die Ausgangsfrage (wie unterdrücke ich das Abschicken des Formulars bei einem Return)

Danke für den Gartenzaun an Knud, auch wenn ich nicht Knud bin

<head>
 <script type="text/javascript">var abschicken=false</script>
</head>

<body>
<form onSubmit="return abschicken" action="irgendws.php" method="post">
  Feld <input name=feld1 type=text> <br><br>
  <input type=button value="abschicken" onClick="abschicken=true; submit()">
</form>