Daniel1987: Formular abschicken mit Enter?

Guten Tag,

ich habe eine Frage und zwar wüsste ich gerne wovon es abhängt, wenn ein Formular mit der Enter-taste abgeschickt werden kann. Manche meiner Formulare lassen sich nämlich mit der Enter-Taste abschicken und manche nicht, d.h. um genauer darauf einzugehen, die Seite läd zwar immer neu aber bei manchen Formularen kommt nicht die entsprechende Fehlermeldung als wenn ich den Button betätigt hätte. Die Seite wird einfach nur neu geladen, als hätte man das Formular nicht betätigt. Ich hoffe, dass ich euch mein Problem verdeutlichen konnte.

--
lg daniel
  1. Hallo Daniel1987.

    ich habe eine Frage und zwar wüsste ich gerne wovon es abhängt, wenn ein Formular mit der Enter-taste abgeschickt werden kann. Manche meiner Formulare lassen sich nämlich mit der Enter-Taste abschicken und manche nicht, …

    Normalerweise kannst du jedes Formular mit Hilfe der Eingabetaste abschicken.

    … d.h. um genauer darauf einzugehen, die Seite läd zwar immer neu aber bei manchen Formularen kommt nicht die entsprechende Fehlermeldung als wenn ich den Button betätigt hätte.

    Hm?

    Die Seite wird einfach nur neu geladen, als hätte man das Formular nicht betätigt. Ich hoffe, dass ich euch mein Problem verdeutlichen konnte.

    Hättest du Beispiele, in denen Formulare nicht per Eingabetaste abgeschickt werden können?

    Einen schönen Montag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
  2. Hallo,

    ich habe eine Frage und zwar wüsste ich gerne wovon es abhängt, wenn ein Formular mit der Enter-taste abgeschickt werden kann.

    es ist eigentlich der Normalfall, dass man ein Formular mit der Enter-Taste absenden kann. Das funktioniert allerdings nicht, wenn
    a) ein Formularelement focussiert ist, das die Enter-Taste selbst auswertet,
       z.B. select-Elemente, Radiobuttons, Checkboxen
    b) *gar kein* Formularelement focussiert ist, z.B. direkt nach dem Laden
       einer Seite mit einem Formular
    c) diese Grundfunktion mit Javascript verhindert oder manipuliert wird.

    Manche meiner Formulare lassen sich nämlich mit der Enter-Taste abschicken und manche nicht, d.h. um genauer darauf einzugehen, die Seite läd zwar immer neu aber bei manchen Formularen kommt nicht die entsprechende Fehlermeldung als wenn ich den Button betätigt hätte.

    Ich schließe mich meinem Vorredner an: Hä?

    Die Seite wird einfach nur neu geladen, als hätte man das Formular nicht betätigt. Ich hoffe, dass ich euch mein Problem verdeutlichen konnte.

    Leider nicht. Wird das Formular nun abgeschickt oder nicht?
    Oder willst du darauf hinaus, dass das aufgerufene Script in manchen Fällen nicht wie erwartet reagiert, weil das name-value-Paar eines Submitbuttons fehlt? Und dass es bei manchen Formularen trotzdem funktioniert, weil es nur *einen* Submitbutton hat und das Script deshalb keine Unterscheidung treffen muss?

    So long,
     Martin

    --
    Die letzten Worte der Challenger-Crew:
    Lasst doch mal die Frau ans Steuer!
    1. Sorry wenn ich mich so komisch ausgedrückt habe.

      Es ist so: (Internet Explorer)

      Ich habe ein Formular. Wenn ich den Sende Button betätige und nix steht in dem input feld drin verfärbt sich das input feld rot! Wenn ich aber mit Enter das Formular absende verfärbt sich nix? Die Seite läd zwar neu, aber er reagiert nicht darauf das, das input feld leer ist.

      Ein Kollege meinte das, dass mit der Zählweise der Forms im IE zu tun hat. Ich sollte den Forms namen geben. Da in <form> kein name=““ erlaubt ist soweit ich weiß, meinte ich, dass eine ID vielleicht bessere wäre.

      --
      lg dani
      1. Hallo,

        Ich habe ein Formular. Wenn ich den Sende Button betätige und nix steht in dem input feld drin verfärbt sich das input feld rot! Wenn ich aber mit Enter das Formular absende verfärbt sich nix? Die Seite läd zwar neu, aber er reagiert nicht darauf das, das input feld leer ist.

        Hört sich verdächtig nach JavaScript an. Da wird anscheinend nur der Submitbutton überprüft statt des Formulars, wodurch Enter einem aufruf ohne JS nahekommt.

        Ein Kollege meinte das, dass mit der Zählweise der Forms im IE zu tun hat. Ich sollte den Forms namen geben. Da in <form> kein name=““ erlaubt ist soweit ich weiß, meinte ich, dass eine ID vielleicht bessere wäre.

        Denke nicht, dass es daran liegt. Aber es sei dennoch gesagt, dass name="" nur in XHTML Strict für <form> verboten ist, alle anderen HTML Varianten (außer eventuell XHTML 1.1) erlauben das Attribut in <form>.

        Gruß;

        1. Nein JavaScript ist nicht vorhanden, mit den id's hat es leider nicht geklappt:

          http://www.netzwerk54.de/passwort.php

          Beim Login Form klappt es. Bei dem Passwort Form leider nicht! (IE!!)

          --
          lg dani
          1. Hallo,

            http://www.netzwerk54.de/passwort.php
            Beim Login Form klappt es. Bei dem Passwort Form leider nicht! (IE!!)

            ja, jetzt wird mir klar, was da passiert.
            Deine passwort.php wird ja einmal direkt aufgerufen, um das Formular anzuzeigen. Beim Absenden wird aber dieselbe passwort.php aufgerufen, um die Eingaben zu verarbeiten.
            Also muss in passwort.php irgendeine Logik stecken, die erkennt, ob der Request durch den eigentlichen Seitenaufruf oder durch das Absenden des Formulars erfolgt. Es scheint, dass dieses Script dazu einfach abfragt, ob $_POST['passwort'] existiert - dein Submit-Button.
            Klickt man nun auf den Submit-Button, enthält $_POST[] das name-value-Paar dieses Buttons. Drückt man nur einfach die Enter-Taste, wird dieses Paar nicht mit übertragen.

            Deine index.php, die du zum Login aufrufst, braucht so eine Unterscheidung nicht zu treffen, weil sie *immer* per POST beim Absenden des Login-Formulars aufgerufen wird.

            Mein Vorschlag: Stelle die Abfrage in der passwort.php so um, dass sie nicht die Existenz bestimmter Schlüssel abfragt, sondern die Request-Methode (POST oder GET). Das dürfte in diesem Fall eindeutig genug sein.

            So long,
             Martin

            --
            Lieber blau machen, als sich schwarz ärgern.
            1. Hey Martin,

              erstmal danke für deine Umfangreiche Antwort. Klingt auch sehr gut, wusste bisher nicht, dass dieser Wert beim Enter-Klicken nicht mit übertragen wird. Aber eine Frage hätte ich dann noch.

              Und zwar auf dieser Seite:

              http://www.netzwerk54.de/anmeldung.php

              Das obere Formular geht mit der Enter-Taste. Das untere aber nicht.

              Beide werden aber mit:

              if(isset($_POST['freischaltung']))

              bzw.

              if(isset($_POST['anmeldung']))

              abgefragt. Wo steckt da nun der Fehler? Denn die Methode ist ja die gleiche.

              --
              lg dani
              P.S. wie sollte man Formulare am besten Abfragen, ich habe bisher immer mit:
              if(isset($_POST['x']))
              gearbeitet wobei x für den namen des Buttons steht.
              1. Hallo,

                http://www.netzwerk54.de/anmeldung.php

                Die Seite kann ich ohne Zugangsdaten nicht erreichen.

                Das obere Formular geht mit der Enter-Taste. Das untere aber nicht.

                Wenn dich das mit der Entertaste so stört, versuche doch mal einen anderen Browser, denn ich kann es weder mit Firefox noch mit Opera nachvollziehen.

                abgefragt. Wo steckt da nun der Fehler? Denn die Methode ist ja die gleiche.

                PHP vird ganz allein auf dem Server verarbeitet, ob du klickenm kannst oder nicht, hat damit nichts zu tun.

                Gruß;

                1. Hi,

                  http://www.netzwerk54.de/anmeldung.php
                  Die Seite kann ich ohne Zugangsdaten nicht erreichen.

                  Die stehen - perverserweise - im Anmeldedialog ...

                  cu,
                  Andreas

                  --
                  Warum nennt sich Andreas hier MudGuard?
                  Schreinerei Waechter
                  O o ostern ...
                  Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                  1. Bitte wo stehen die?

                    Hi,

                    http://www.netzwerk54.de/anmeldung.php
                    Die Seite kann ich ohne Zugangsdaten nicht erreichen.

                    Die stehen - perverserweise - im Anmeldedialog ...

                    cu,
                    Andreas

                  2. Hallo MudGuard.

                    http://www.netzwerk54.de/anmeldung.php
                    Die Seite kann ich ohne Zugangsdaten nicht erreichen.

                    Die stehen - perverserweise - im Anmeldedialog ...

                    Das tun sie bei mir nicht.

                    Einen schönen Montag noch.

                    Gruß, Mathias

                    --
                    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
                    debian/rules
                  3. Hallo,

                    Die stehen - perverserweise - im Anmeldedialog ...

                    Man sollte immer bedenken, dass es Funktionalität gibt, die *nicht* in allen Browsern identisch ist.

                    Gruß;

                  4. Hi,

                    http://www.netzwerk54.de/anmeldung.php
                    Die Seite kann ich ohne Zugangsdaten nicht erreichen.

                    Die stehen - perverserweise - im Anmeldedialog ...

                    Ich zieh alles zurück. Und werde erst wieder posten, wenn der Kater komplett weg ist.
                    Ich hab das "for" in 'Enter Username and Passwort for "NW54" at http://...' übersehen ...

                    cu,
                    Andreas

                    --
                    Warum nennt sich Andreas hier MudGuard?
                    Schreinerei Waechter
                    O o ostern ...
                    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                2. Ich weiß wodran der letzte Fehler lag:

                  Mit einem input Feld ging es nicht aber mit mehreren schon. hab dazu auch was im netz gefunden:

                  z.B.:

                  http://de.groups.yahoo.com/group/cf-discussion/message/4632

                  http://www.php-resource.de/forum/showthread/t-20940.html

                  --
                  lg dani

      2. Hallo Daniel1987.

        Sorry wenn ich mich so komisch ausgedrückt habe.

        Es ist so: (Internet Explorer)

        Ich habe ein Formular. Wenn ich den Sende Button betätige und nix steht in dem input feld drin verfärbt sich das input feld rot! Wenn ich aber mit Enter das Formular absende verfärbt sich nix? Die Seite läd zwar neu, aber er reagiert nicht darauf das, das input feld leer ist.

        Und wenn du uns nun noch verrätst, wo wir „die Seite“ finden können, können wir dir vielleicht auch weiterhelfen. Das geschilderte Verhalten deutet auf den Einsatz von JavaScript hin.

        Einen schönen Montag noch.

        Gruß, Mathias

        --
        ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
        debian/rules