Tino: formular nicht mit "Enter" abschicken

hallo

ich habe ein längeres formular in dem vom besucher einige daten abgefragt werden.
leider kommt es regelmäßig vor, dass jemand nach dem ausfüllen eines feldes "enter"drückt und das ganze unfertig abgeschickt wird.
nun wäre eine lösung den nutzer auf den lapsus hinzuweisen und zum formular zurück zu kehren.

mir wäre es aber lieber, die funktion der enter-taste zu verändern. entweder so, dass man ins nächste feld springt, oder aber so, dass wenigstens das absenden verhindert wird.

gibt es da irgendeinen lösungsweg?

besten dank schonmal
tino

  1. Hallo,

    das ist eigentlich nicht dein Problem, wenn der Besucher nicht mit seinem Browser umgehen kann. Eine Abfrage musst du sowieso einbauen. Sowas macht man eigentlich nur einmal bis man merkt, dass man mit der Enter-Taste nicht in das nächste Feld wechselt.

    Mit freudlichen Grüßen, NaeZnaL

  2. Hi

    leider kommt es regelmäßig vor, dass jemand nach dem
    ausfüllen eines feldes "enter"drückt und das ganze
    unfertig abgeschickt wird.

    Kommt es nicht regelmässiger vor, dass jemand Enter
    drückt *um das Formular abzuschicken*?

    nun wäre eine lösung den nutzer auf den lapsus
    hinzuweisen und zum formular zurück zu kehren.

    Und wie schicke ich das Formular ab, wenn ich keine Maus
    habe? So wie immer geht ja dann nicht...

    mir wäre es aber lieber, die funktion der enter-taste
    zu verändern.

    Vorsicht mit solchen Wünschen...

    entweder so, dass man ins nächste feld
    springt, oder aber so, dass wenigstens das absenden
    verhindert wird.

    Evtl. könntest du mit Enter auf eine weitere Seite
    linken, wo man nochmals bestätigen oder zurück kann.

    Gruss
    chlori

    1. Hallo,

      Und wie schicke ich das Formular ab, wenn ich keine Maus
      habe? So wie immer geht ja dann nicht...

      Mit [Tab] den Fokus auf den Button setzen und dann [Leertaste].

      Mit freudlichen Grüßen, NaeZnaL

      1. Hi

        Und wie schicke ich das Formular ab, wenn ich keine Maus
        habe? So wie immer geht ja dann nicht...

        Mit [Tab] den Fokus auf den Button setzen und dann [Leertaste].

        Ja, natürlich. Aber das weiss ich ja vielleicht nicht. ;)

        Was ich sagen wollte: "Lass meinen Browser so funktionieren
        wie ich ihn kenne (falls ich ihn kenne)."

        Gruss
        chlori

        1. Hallo,

          Ja, natürlich. Aber das weiss ich ja vielleicht nicht. ;)

          Deswegen habe ich es dir ja gesagt ;-)

          Was ich sagen wollte: "Lass meinen Browser so funktionieren
          wie ich ihn kenne (falls ich ihn kenne)."

          Da stimme ich dir voll und ganz zu.

          Mit freudlichen Grüßen, NaeZnaL

  3. Hi chlori,

    obwohl ich denke, das NaeZnal völlig recht hat (das macht jeder wohl nur einmal) trotzdem der Versuch einer Antwort:

    1. Ansatz:

    onclick auf dem Submit-Element abfangen und in eine Funktion umleiten die etwa so aussieht:

    function nixSubmit(){
     document.myForm.action = "";
    }

    Das führt dazu, dass die Formulardaten nicht an das Ziel gesendet werden, allerdings auch dazu, das das Formular gelöscht wird, da der Request ja ausgeführt wird.

    2. Ansatz:

    Sezte den Submit-Button auf disabled und gebe ihn erst frei, wenn das Formular ausgefüllt ist. Das könnte aber evtl auch zu etwas Unmut bei den Benutzern führen, die wissen, wann sie die Enter-Taste drücken dürfen.

    3. Ansatz:

    Etwas aufwendiger und bischen gescripte:
    Verzichte ganz auf den Submit und setze an seine Stelle einen normalen Button. Dann passiert nix, wenn einer die Eingabetaste drückt, sondern wirklich nur dann, wenn der Button den Fokus hat.
    Das Formular kannst Du dann ja onClick auf dem Button mit

    document.myform.submit()

    abschicken. Luxusmäßig könntest Du ja noch den Tastaturevent auf der EingabeTaste abfangen und schauen, ob das Formular bereits ausreichend ausgefüllt ist, und dann den Submit auch durchführen, dann wäre auch der Power-User glücklich.

    Vielleicht hilft dir's ja...

    Grüsse
    Oliver

    1. Hallo du da draußen,

      • Sezte den Submit-Button auf disabled und gebe ihn erst frei, wenn das Formular ausgefüllt ist.

      • Verzichte ganz auf den Submit und setze an seine Stelle einen normalen Button. Dann passiert nix, wenn einer die Eingabetaste drückt, sondern wirklich nur dann, wenn der Button den Fokus hat.

      Also mein Browser sendet die Daten eines Formulars immer ab, wenn ich Enter drücke, auch wenn kein Submit-Button existiert oder dies auf disabled ist.

      Grüße von hier drinnen, aus Biberach an der Riss (http://www.stadt-biberach.de/),
      Candid Dauth (Dogfish)

      --
      Selten Dumme sind nicht selten, aber dumm.
      http://dogfish.net.tc/