Daniel: Eingabeformular -> Wechseln mit "Eingabe"

Hallo!

Ich hab ein Formular, mit 15 Zeilen und pro Zeile 5 Eingabefelder, und einen "Übernehmen" Button.

Wie kann ich es machen, das man einen Wert eingibt und dann mit "Enter" in das nächste Feld springt, ohne das Formular abzuschicken. Es soll nur dann das Formular abgeschickt werden, wenn der Übernehmenbutton gedrückt wird.

Geht das überhaupt?

Es werden zu 99% Zahlen eingeben, und da wechselt es sich mit Enter beim Num-Block viel schneller!

lg daniel

  1. Hallo Daniel,

    Wie kann ich es machen, das man einen Wert eingibt und dann mit "Enter" in das nächste Feld springt, ohne das Formular abzuschicken. Es soll nur dann das Formular abgeschickt werden, wenn der Übernehmenbutton gedrückt wird.

    Du kannst mit JavaScript eine Tastaturueberwachung programmieren und beim Druecken der Enter-Taste einen Feldwechsel ins naechste Feld ausfuehren. Wie das alles geht, solltest du mal versuchen, anhand von JavaScript-Dokumentationen (gibts auch in SELFHTML) herauszufinden.
    Ich rate allerdings davon ab, das so realisieren zu wollen. Die Zeiten, in denen man in Masken Felder mit <Enter> wechselte, sind denke ich Vergangenheit. Es hat sich laengst auf breiter Basis das Wechseln mit der Tab-Taste durchgesetzt, und User, die mit Tastatur Felder wechseln, wissen das eigentlich auch.

    viele Gruesse
      Stefan Muenz

    1. Hallo Stefan!

      das Problem hat sich von selbst gelöst.
      Wird doch mit Tab gemacht!

      viele Gruesse
        Stefan Muenz

      danke!
      Daniel

    2. Hello,

      Ich rate allerdings davon ab, das so realisieren zu wollen. Die Zeiten, in denen man in Masken Felder mit <Enter> wechselte, sind denke ich Vergangenheit. Es hat sich laengst auf breiter Basis das Wechseln mit der Tab-Taste durchgesetzt, und User, die mit Tastatur Felder wechseln, wissen das eigentlich auch.

      Nicht alles, was "neu" ist, ist auch gut. Die Bedienung mit der Enter-Taster im Ziffernblock ist jedenfalls ergonomischer. Es ist auch längst eine Erweiterung des Ziffernblocks um den Punkt überfällig.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Hallo Tom,

        zum Teil hast du sicher Recht.

        Die Bedienung mit der Enter-Taster im Ziffernblock ist jedenfalls ergonomischer. Es ist auch längst eine Erweiterung des Ziffernblocks um den Punkt überfällig.

        Aber das ist Ansichtssache. Für mich ist beispielsweise der gesamte Ziffernblock nur Ballast. Meinetwegen könnte man die Tastatur auch rechts neben dem Cursor-Block absägen; ich würde nichts vermissen.
        Auch beim Eingeben von längeren Zahlenreihen komme ich nämlich mit der linearen Anordnung im alphanumerischen Bereich der Tastatur besser klar.

        Grüße aus der Region Stuttgart

        Martin, der Quertreiber

      2. Nicht alles, was "neu" ist, ist auch gut. Die Bedienung mit der Enter-Taster im Ziffernblock ist jedenfalls ergonomischer. Es ist auch längst eine Erweiterung des Ziffernblocks um den Punkt überfällig.

        Das Komma auf dem Ziffernblock ist eine rein deutsche Besonderheit.
        Bekannternmassen sind im deutschen die Mathematische Bedeutungen von Punkt und Komma vertauscht. Genau wie wir auch die Zahlen "verkehrtrum"  vorlesen. :-)

        TomIRL

        1. Hello,

          Nicht alles, was "neu" ist, ist auch gut. Die Bedienung mit der Enter-Taster im Ziffernblock ist jedenfalls ergonomischer. Es ist auch längst eine Erweiterung des Ziffernblocks um den Punkt überfällig.

          Das Komma auf dem Ziffernblock ist eine rein deutsche Besonderheit.
          Bekannternmassen sind im deutschen die Mathematische Bedeutungen von Punkt und Komma vertauscht. Genau wie wir auch die Zahlen "verkehrtrum"  vorlesen. :-)

          Das Problem dabei ist, dass viele Programme und/oder Programmiersprachen da keine Lösung anbieten, Zahlen dann auch mit Komma einzugeben. Ich bin im Moment tatsächlich überfragt, ob man das in PHP einstellen kann, ob Punkt oder Komma erlaubt sind. Wäre auch schön, wenn es einen speziellen Feldtyp in HTML gäbe, der nur Ziffern, Punkt und/oder Komma akzeptiert.

          So muss man sich die Funktionen dann selber basteln.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. Hi Tom,

            Das Komma auf dem Ziffernblock ist eine rein deutsche Besonderheit.
            Bekannternmassen sind im Deutschen die mathematische Bedeutungen von Punkt und Komma vertauscht.

            So muss man sich die Funktionen dann selber basteln.

            Ja, in Ordnung. Aber WENN man sich dann selber was bastelt, dann sollte man auch eine flexible Lösung haben. Also eine, die entweder die User-Einstellungen übernimmt, oder die sowohl den Punkt als auch das Komma als Dezimaltrennzeichen akzeptiert.
            Und nicht wie z.B. ebay, wo ich mich jedesmal wieder darüber ärgere, dass ich ein Komma anstatt dem Dezimalpunkt eingeben MUSS, weil deren Skripte es so wollen. Obwohl ich sonst in den meisten Formularen den Punkt gewöhnt bin und das auch auf meinem Rechner so eingestellt ist.
            Denn das mit dem Komma ist so ein typisch deutscher Alleingang, den ich nicht mag und unter dem Vorwand der "Internationalität" boykottiere.

            Herzliche Grüße aus Süddeutschland

            Martin

            1. Hello,

              Das Komma auf dem Ziffernblock ist eine rein deutsche Besonderheit.
              Bekannternmassen sind im Deutschen die mathematische Bedeutungen von Punkt und Komma vertauscht.

              So muss man sich die Funktionen dann selber basteln.

              Ja, in Ordnung. Aber WENN man sich dann selber was bastelt, dann sollte man auch eine flexible Lösung haben. Also eine, die entweder die User-Einstellungen übernimmt, oder die sowohl den Punkt als auch das Komma als Dezimaltrennzeichen akzeptiert.
              Und nicht wie z.B. ebay, wo ich mich jedesmal wieder darüber ärgere, dass ich ein Komma anstatt dem Dezimalpunkt eingeben MUSS, weil deren Skripte es so wollen. Obwohl ich sonst in den meisten Formularen den Punkt gewöhnt bin und das auch auf meinem Rechner so eingestellt ist.

              Das sehe ich auch so. Aber nach welchem Algorithmus trifft man am besten die Entscheidung, ob es sich nun um einen Tausender-Seperator oder um ein Dezimaltrennzeichen handelt, wenn nur ein Punkt oder ein Komma drin ist im String.

              123,896       sind das jetzt 123 + 898/1000 oder sind es
                Einhundertdreiundzwanzigtausendschthundertsechunsneunzig?

              1.234.900,001 hier ist sie Sache klar erkennbar
                1,234,900.002 hier auch

              1,234.900,003 das ist verboten und klar als Fehler erkennbar
                1.234,900.004 das ist auch verboten und auch klar als Fehler erkennbar

              Wie macht mans richtig?

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
              1. Das sehe ich auch so. Aber nach welchem Algorithmus trifft man am besten die Entscheidung, ob es sich nun um einen Tausender-Seperator oder um ein Dezimaltrennzeichen handelt, wenn nur ein Punkt oder ein Komma drin ist im String.

                Die Marotte mit dem Tausender-Trennzeichen würde ich gar nicht berücksichtigen. Bei der _Ausgabe_ von Zahlen wird zwar zur besseren Lesbarkeit oft eins gesetzt. Aber bei der _Eingabe_ benutzt es IMO kaum jemand.

                123,896       sind das jetzt 123 + 898/1000 oder sind es
                  Einhundertdreiundzwanzigtausendschthundertsechunsneunzig?

                Das sind für mich zwei getrennte Zahlen, nämlich die 123, und  davon abgesetzt die 896.

                1.234.900,001 hier ist sie Sache klar erkennbar
                  1,234,900.002 hier auch

                Ja, aber das sind Formate, die ich bei der freien Eingabe von Zahlen nicht erwarten würde (siehe oben).

                1,234.900,003 das ist verboten und klar als Fehler erkennbar
                  1.234,900.004 das ist auch verboten und auch klar als Fehler erkennbar

                ACK.

                Wie macht mans richtig?

                Am besten die Einstellung aus dem Benutzerprofil verwenden. Auf Web-Projekte bezogen heißt das, dass man nicht anfangen sollte, selbst Umwandlungsroutinen (etwa in JS) zu schreiben. Wenn ich den Inhalt (value) eines Formularfeldes direkt in einem numerischen Ausdruck verarbeite, dann ist der JS-Interpreter dafür verantwortlich, das Zahlenformat richtig zu erkennen. Und der _hat_ die Möglichkeit, Einstellungen aus dem User-Profil abzufragen.
                Bei serverseitigen Lösungen (PHP, Perl, CGI allgemein) wird's problematischer. Da muss man wahrscheinlich echt raten. Aber auch hier ergibt es sich oft schon aus dem Kontext. In deinem ersten Beispiel würde ich die Interpretation davon abhängig machen, ob ich an dieser Stelle _einen_ numerischen Wert erwarte oder zwei.

                Harzliche Grüße aus http://www.annerschbarrich.de

                Schwäbische Grüße aus http://www.backnang.de  ;)

                Martin