Game: HTML Formular NICHT per Enter verschicken

Hallo,

ich habe ein HTML Formular mit einigen einzeiligen Eingabefeldern und habe nun festgestellt, dass wenn ich Enter in einem der Felder drücke, das Formular versendet wird, was fatal ist, da ich bei der Auswertung prüfe ob der Button zum Absenden gedrückt wurde, bzw. von welchem Button er kommt.

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

Danke für eure Hilfe.

  1. 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...
    Wird allerdings nicht ueberall funktionieren.

    Gruesse,

    Thomas

    1. 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

  2. hi,

    ich habe ein HTML Formular mit einigen einzeiligen Eingabefeldern und habe nun festgestellt, dass wenn ich Enter in einem der Felder drücke, das Formular versendet wird, was fatal ist, da ich bei der Auswertung prüfe ob der Button zum Absenden gedrückt wurde, bzw. von welchem Button er kommt.
    Gibt es eine Möglichkeit das versenden des Formulars per Enter zu verhindern?

    der effekt dürfte gar nicht auftreten, wenn du mehr als einen submit-button hast.

    gruss,
    wahsaga