Nilo: Input Feld nur 4 nachkommastellen erlauben

Hallo Zusammen

Ist es möglich ein Imput Feld so zu bauen, dass man nur eine Zahl mit 4 nachkommastellen eingeben kann.
Beispiel: Wenn man 1.1234567 eingibt, dass es automatisch im Input-Feld auf 1.1234 kürzt oder das es erst gar nicht möglich ist mehr einzugeben?
Geht das irgendwie mit jQuery oder ähnliches?

Danke und Grüsse
Nilo

  1. Om nah hoo pez nyeetz, Nilo!

    Ist es möglich ein Imput Feld so zu bauen, dass man nur eine Zahl mit 4 nachkommastellen eingeben kann.
    Beispiel: Wenn man 1.1234567 eingibt, dass es automatisch im Input-Feld auf 1.1234 kürzt oder das es erst gar nicht möglich ist mehr einzugeben?

    sogar ohne: vorgeschriebene Formate mit pattern

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Bussard und Bussardkollektor.

    1. @@Matthias Apsel:

      nuqneH

      sogar ohne: vorgeschriebene Formate mit pattern

      Nein, ins Eingabefeld kannst du dann trotzdem eingeben, was du willst.

      Außerdem passt pattern auch nicht zu numerischen Eingabefeldern. Hier wäre wohl <input type="number" step="0.0001"/> angebracht.

      Mit unobtrusive JavaScript kann man auf key…-, change-, blur-, submit-Events lauschen und die Zahl im Eingabefeld von zu vielen eingegebenen Stellen befreien.

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      1. Mit unobtrusive JavaScript kann man auf key…-, change-, blur-, submit-Events lauschen und die Zahl im Eingabefeld von zu vielen eingegebenen Stellen befreien.

        Mit Javascript würde ich nach jedem onkeyup den Gesamtwert prüfen. Vermutlich ist eine hinter dem Dezimalzeichen so genaue Zahl auch nicht beliebig groß.

        Ich weiss, wenn man den Wert mit der Maus in das Feld schiebt, gibt es kein onkeyup. Der ganze Zauber verpufft aber auch, wenn Javascript abgeschaltet ist.

        Also immer serverseitig prüfen.

        Und dabei berücksichtigen, dass verschiedene Zeichen (ich kenne . und ,) als Dezimaltrennzeichen verwendet werden.

        Linuchs

        1. Und dabei berücksichtigen, dass verschiedene Zeichen (ich kenne . und ,) als Dezimaltrennzeichen verwendet werden.

          Korrekt. BTW: aus dem Grund ist "input type=number" für die Tonne.

          1. @@Mitleser:

            nuqneH

            Und dabei berücksichtigen, dass verschiedene Zeichen (ich kenne . und ,) als Dezimaltrennzeichen verwendet werden.

            Korrekt. BTW: aus dem Grund ist "input type=number" für die Tonne.

            Unsinn!

            Wenn was für die Tonne ist, wären das Browser, die das blöd implementieren und Komma als Dezimaltrennzeichen nicht akzeptieren. Welche wären das denn?

            input type=number ist auch deshalb einzusetzen, um auf numerische virtuelle Tastatur umzuschalten.

            Qapla'

            --
            „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
            1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

              Und dabei berücksichtigen, dass verschiedene Zeichen (ich kenne . und ,) als Dezimaltrennzeichen verwendet werden.

              Korrekt. BTW: aus dem Grund ist "input type=number" für die Tonne.

              Unsinn!

              Wenn was für die Tonne ist, wären das Browser, die das blöd implementieren und Komma als Dezimaltrennzeichen nicht akzeptieren. Welche wären das denn?

              Ich hab das nicht getestet, könnte mir aber vorstellen, dass type="number" nachschaut, welche Regionalisierung im Betriebssystem verwendet wird und nur dieses Zahlenformat akzeptiert.

              Matthias

              --
              Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Schu und Schultheiß.

            2. Wenn was für die Tonne ist, wären das Browser, die das blöd implementieren und Komma als Dezimaltrennzeichen nicht akzeptieren.

              Kann man so sehen, halte ich aber für weltfremd. Wenn eine nennenswerte Zahl an Clients durch den Einsatz eines sinnvollen Konzeptes eine kaputte Gui generieren, dann ist es raus. Wem ich persönlich die Schuld dafür gebe, interessiert keine Sau.

              Welche wären das denn?

              Tatsächlich für mich keine testbaren mehr, die ich aktuell im Testportfolio habe. Der letzte Test lag einige Monate zurück. Damals hat der Chrome unter Android den Punkt, das Komma aber gefressen - fail. Mit aktuellem Android / Chrome wird beides aktzeptiert, gut so. Da ältere Garden aber noch nennenswert in der freien Umlaufbahn sind, werde ich weiter auf die Funktion verzichten müssen. Einfache Güterabwägung: Etwas Komfort vs. frustrierter User: "Warum unterstützt ihr Mistsystem denn keine Nachkommastellen!!!?!!!".

              input type=number ist auch deshalb einzusetzen, um auf numerische virtuelle Tastatur umzuschalten.

              Jo. Deshalb fand ich es ja auch schade, es nicht verwenden zu können.

              1. @@Mitleser:

                nuqneH

                Da ältere Garden aber noch nennenswert in der freien Umlaufbahn sind, werde ich weiter auf die Funktion verzichten müssen.

                Nein.

                Wegen einiger älterer Garden allen eine beschissenes UI vorzusetzen ist kaum das, was man will.

                Sollte es wirklich Clients geben, die das Komma auf der virtuellen Tastatur anbieten, aber nicht akzeptieren, wäre das mir unobtrusivem JavaScript zu beheben: auf change/submit lauschen und Komma durch Punkt ersetzen.

                Jo. Deshalb fand ich es ja auch schade, es nicht verwenden zu können.

                Kannste.

                Qapla'

                --
                „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  2. Genau, es sollte schon gar nicht möglich 1.12345 einzugeben.
    Mit jQuery key.. hat hier jemand vieleicht ein kleines Beispiel?

    Danke
    Nilo

    1. Genau, es sollte schon gar nicht möglich 1.12345 einzugeben.
      Mit jQuery key.. hat hier jemand vieleicht ein kleines Beispiel?

      Ja klar. Den Wert einfach mit 100000 multiplizieren. Wenn das Ergebnis Nachkommastellen hat, die letzte Ziffer löschen.

      Linuchs

  3. Nein es gibt eben keine Lösung.
    Na dann eben nicht, suche ich weiter nach hilfe

    1. @@Nilo:

      nuqneH

      Nein es gibt eben keine Lösung.

      Doch, sie wurde auch mehrmal hier genannt.

      Na dann eben nicht, suche ich weiter nach hilfe

      Dein Problem scheint weniger das Suchen als das Erkennen zu sein.

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)