2008-09-22 11 views

Antwort

127

Es gibt zwei Hauptlösungen:

Die reine HTML ein:

<input type="text" id="Textbox" name="Textbox" maxlength="10" /> 

Die JavaScript ein (fügen Sie es zu einem OnKey Event):

function limitText(limitField, limitNum) { 
    if (limitField.value.length > limitNum) { 
     limitField.value = limitField.value.substring(0, limitNum); 
    } 
} 

Aber wie auch immer, es gibt keine gute Lösung. Sie können sich nicht an die schlechte HTML-Implementierung jedes Kunden anpassen, es ist ein unmöglicher Kampf um den Sieg. Deshalb ist es viel besser, es auf der Serverseite mit einem PHP/Python/whatever-Skript zu überprüfen.

+25

Überprüfen Sie auf dem Server eine abschließende Plausibilitätsprüfung, fügen Sie jedoch clientseitige Erweiterungen hinzu, wenn Sie dies tun können. es sorgt für eine reichere Benutzererfahrung. – Rob

+1

Sicher, mehr Arbeit, aber definitiv der beste Weg zu gehen. –

41

gibt es ein Attribut maxlength

<input type="text" name="textboxname" maxlength="100" /> 
+1

Das ist wahr, aber einige Kunden dies nicht überprüfen. Dies gilt insbesondere für auf Mobiltelefonen basierende Clients. – Drejc

+0

Es gibt auch Möglichkeiten, sie zu entfernen. Zum Beispiel hat die Firefox Web Developer Extension die Funktion Maximale Länge entfernen. –

+0

Mit Chrom und seinem Entwickler-Kit (das mit dem Browser geliefert wird) ist es einfach, solche Dinge im HTML zu entfernen – AntonioCS

5

die "maxlength" -Attribut verwenden, wie andere gesagt haben.

Wenn Sie in einem Text AREA eine maximale Zeichenlänge eingeben müssen, müssen Sie Javascript aktivieren. Werfen Sie einen Blick hier: How to impose maxlength on textArea in HTML using JavaScript

+0

der Link funktioniert nicht ... – TlonXP

+0

überprüfen Sie diesen Link in StackOverflow: http://StackOverflow.com/Questions/1125482/how-to-erzwingen-maxlength-on-textarea-in-html-using-javascript – TlonXP

11

Zusätzlich zu den oben genannten, möchte ich darauf hinweisen, dass Client-seitige Validierung (HTML-Code, Javascript, etc.) ist nie genug. Überprüfen Sie auch die Länge serverseitig, oder überprüfen Sie gar nicht (wenn es nicht so wichtig ist, dass Leute es umgehen können, dann ist es nicht wichtig genug, um irgendwelche Schritte zu rechtfertigen, um dies zu verhindern).

Auch, Burschen, er (oder sie) sagte HTML, nicht XHTML. ;)

+0

ich stimme zu. Man kann Daten direkt in eine Website mit einem Skript-Tool POST POST, also in diesem Fall maxlength und andere browserseitige Validierungen sind nicht narrensicher – cruizer

+0

oder verwenden Sie firebug und entfernen Sie die Maxlength-Attribut. – Zach

1

Für den <Eingang> Element das Attribut maxlength gibt es:

<input type="text" id="Textbox" name="Textbox" maxlength="10" /> 

(durch die Art und Weise, ist der Typ "Text", nicht "Textbox", wie andere schreiben), aber Sie haben Javascript mit < textarea verwenden > s. In jedem Fall sollte die Länge auf dem Server überprüft werden.

0

können Sie maxlength mit jquery gesetzt, die

jQuery(document).ready(function($){ //fire on DOM ready 
setformfieldsize(jQuery('#comment'), 50, 'charsremain') 
}) 
sehr schnell