Wie erzwingen Sie eine Zeichenbeschränkung für eine Texteingabe in HTML?Zeichenbeschränkung in HTML
Antwort
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.
gibt es ein Attribut maxlength
<input type="text" name="textboxname" maxlength="100" />
Das ist wahr, aber einige Kunden dies nicht überprüfen. Dies gilt insbesondere für auf Mobiltelefonen basierende Clients. – Drejc
Es gibt auch Möglichkeiten, sie zu entfernen. Zum Beispiel hat die Firefox Web Developer Extension die Funktion Maximale Länge entfernen. –
Mit Chrom und seinem Entwickler-Kit (das mit dem Browser geliefert wird) ist es einfach, solche Dinge im HTML zu entfernen – AntonioCS
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
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. ;)
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.
können Sie maxlength mit jquery gesetzt, die
jQuery(document).ready(function($){ //fire on DOM ready
setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
sehr schnell
Ü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
Sicher, mehr Arbeit, aber definitiv der beste Weg zu gehen. –