• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Feldlänge

FreddyS

Neues Mitglied
Gibt es eine Möglichkeit, per html oder php die eingabe zu sperren, wenn eine vorgegebene Anzahl Zeichen überschritten wird.

Also z.B. wenn max. Anzahl gleich 5, kann kein 6. Wert eingegeben werden.

Maxsize und maxlength verhindern dies ja leider nicht, und auch die plausi mit js ist nicht unbedingt schön.

Fände es besser, wenn der user gleich gar nicht mehr als zulässig eingeben kann
 
Das ist meines erachtens leider tatsächlich nur durch JS möglich.

Eine beispiellösung in JS wäre folgende

HTML:
<html>
  <head>
    <script>
      window.onload = function() {
        var maxTextLaenge = 8;
        
        document.getElementById("input").onkeyup = function() {
          var textInput = document.getElementById("input");
          var value = textInput.value;
          if(value.length > maxTextLaenge) {
            value = value.substring(0, (maxTextLaenge-1));  
            textInput.value = value;
          }
          
        }  
      }
      
    </script>
  </head>
  <body>
    <input type="text" id="input">
  </body>
</html>
Ob es schön ist, ist eine andere Frage :)
 
Zuletzt bearbeitet:
das ist richtig, ich verw3ende auch maxlength und maxsize

Aber das verhindert ja nicht, dass der user mehr als x(maxlength)-Stellen eingibt, die dann gescrollt bzw. abgeschnitten werden.

Ich suchge nach einer möglichkeit, die eingabe von mehr als x-Stellen (maxlength) zu verhindern
 
das ist richtig, ich verw3ende auch maxlength und maxsize

Aber das verhindert ja nicht, dass der user mehr als x(maxlength)-Stellen eingibt, die dann gescrollt bzw. abgeschnitten werden.

Ich suchge nach einer möglichkeit, die eingabe von mehr als x-Stellen (maxlength) zu verhindern
Was ist denn maxsize? Da finde ich in keiner doku etwas, wo hast du dieses Attribut her?

Du hattest gefragt nach einer Möglichkeit mit HTML (php läuft auf dem Server kann also nicht funktionieren) und da gibt es nur maxlength.

Das hindert natürlich den User daran mehr als maxlength stellen einzugeben, ausser mit Paste&Copy aber du musst sowieso die Eingabe immer auf dem Server prüfen, da solche einschränkungen leicht umgangen werden können.
 
maxsize aus einem php-forum

Prüfe die eingabe natürlich auf dem server sowieso, wollte aber bestimmte fehler vorher abfangen (habe das jetzt mit js gemacht)

Paste&copy sagt mir leider nichts
 
Copy & Paste => Kopieren & Einfügen ;)

Grade übrigens mal copy & paste in ein Textfeld probiert. Zumindets im FF und IE8 hört auch nach der maxlength auf.
Hab leider auch das Attribut maxlength gestern nicht im Kopf gehabt . Ist natürlich wesentlich eleganter (und unkomplizierter :D).
Meine JS Funktion könnte man höchstens als unterstützende "Wieviele Zeichen kann ich noch eingeben" Funktion verwenden :D Muss man ja nicht mehr viel abändern :)

Für die Länge im Feld natürlich maxlength benutzen.
 
Zuletzt bearbeitet:
Das ist zum Beispiel ein Punkt, der bisher noch gar nicht erwähnt wurde. Wir reden von textarea Eingabefeldern? da funktioniert im Client wirklich nur eine JS Lösung z.b. so:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
  </head>
  <body>
    <textarea id="input"></textarea>
<script type="text/javascript">
var maxTextLaenge = 8;
document.getElementById("input").onkeyup =
document.getElementById("input").onmouseup =
document.getElementById("input").onblur =
function() {
    if(this.value.length > maxTextLaenge) {
        this.value = this.value.substring(0, (maxTextLaenge-1));
    }
};
      
</script>
</body>
</html>
 
Zurück
Oben