molily: HTML Formular NICHT per Enter verschicken

Beitrag lesen

Hallo,

Gibt es eine Möglichkeit das versenden des Formulars per Enter zu verhindern?

Sicher nicht mit PHP oder HTML.
Du kannst hoechstens versuchen, mit JavaScript etwas
zu basteln, Stichworte: onSubmit, onKeyup...

Dann eher onfocus bei den input-Elementen. Prämisse: Beim Absenden über die Return-Taste aus einem Texteingabefeld geht ein focus-Event beim jeweiligen Element zuvor. Dasselbe gilt für das Absenden über das Klicken auf einen Submitbutton bzw. das Springen mittels Tabulator o.ä. und Absenden über Return/Enter.

<input type="text" ... onfocus="texteingabefeld_fokussiert=true" onblur="texteingabefeld_fokussiert=false">

Dann:

<form ... onsubmit="if (texteingabefeld_fokussiert) return false"> (und eventuell eine entsprechende window.alert-Meldung mit der Bitte, einen der Submitbuttons zu nutzen)

Doppelt gemoppelt:

<input type="text" ... onfocus="texteingabefeld_fokussiert=true" onblur="texteingabefeld_fokussiert=false">

<input type="submit" ... onfocus="submitbutton_fokussiert=true" onblur="submitbutton_fokussiert=false">

<form ... onsubmit="if (texteingabefeld_fokussiert && !submitbutton_fokussiert) return false">

Das funktioniert im MSIE 6, Gecko, Opera 6 und 7; im Netscape 4 und Opera 5 nicht (NS4 kennt offenbar kein obsubmit).

Mathias