Wie können Sie einer Texteingabe in HTML eine Zeichenbeschränkung auferlegen?
Wie können Sie einer Texteingabe in HTML eine Zeichenbeschränkung auferlegen?
Antworten:
Es gibt 2 Hauptlösungen:
Das reine HTML:
<input type="text" id="Textbox" name="Textbox" maxlength="10" />
Das JavaScript (an ein onKey-Ereignis anhängen):
function limitText(limitField, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
}
}
Aber 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 zu gewinnen. Deshalb ist es weitaus besser, es auf der Serverseite mit einem PHP / Python / was auch immer-Skript zu überprüfen.
Es gibt ein Attribut für die maximale Länge
<input type="text" name="textboxname" maxlength="100" />
Darüber hinaus möchte ich darauf hinweisen, dass die clientseitige Validierung (HTML-Code, Javascript usw.) niemals ausreicht. Überprüfen Sie auch die Länge auf der Serverseite oder überprüfen Sie sie überhaupt nicht (wenn es nicht so wichtig ist, dass die Leute sie umgehen können, ist es auch nicht wichtig genug, um wirklich Schritte zu rechtfertigen, um dies zu verhindern).
Außerdem, Leute, sagte er (oder sie) HTML, nicht XHTML. ;)
Verwenden Sie das Attribut "maxlength", wie andere gesagt haben.
Wenn Sie eine maximale Zeichenlänge in einen Textbereich einfügen müssen, müssen Sie sich an Javascript wenden. Schauen Sie sich hier Folgendes an : So legen Sie textArea in HTML mithilfe von JavaScript eine maximale Länge fest
Für das <input> -Element gibt es das Attribut maxlength:
<input type="text" id="Textbox" name="Textbox" maxlength="10" />
(Der Typ ist übrigens "Text", nicht "Textfeld", wie andere schreiben). Sie müssen jedoch Javascript mit <Textbereich> verwenden. In jedem Fall sollte die Länge auf dem Server trotzdem überprüft werden.
Sie können die maximale Länge mit jquery einstellen, was sehr schnell ist
jQuery(document).ready(function($){ //fire on DOM ready
setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})