Comment imposer une limite de caractères à une entrée de texte en HTML?Limite de caractères en HTML
Répondre
Il y a 2 solutions principales:
Le HTML pur un:
<input type="text" id="Textbox" name="Textbox" maxlength="10" />
Le JavaScript un (l'attacher à un OnKey événement):
function limitText(limitField, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
}
}
Mais de toute façon, il y a pas de bonne solution. Vous ne pouvez pas vous adapter à la mauvaise implémentation HTML de chaque client, c'est un combat impossible à gagner. C'est pourquoi il est préférable de le vérifier côté serveur, avec un script PHP/Python/quelquechose.
il y a un maxlength attribut
<input type="text" name="textboxname" maxlength="100" />
Cela est vrai, mais certains clients ne vérifient pas. Ceci est particulièrement vrai pour les clients basés sur le téléphone mobile. – Drejc
Il existe également des moyens de les supprimer. Par exemple, l'extension Firefox Web Developer a une fonction Supprimer les longueurs maximales. –
Avec le chrome et son kit de développement (qui vient avec le navigateur), il est simple d'enlever de telles choses dans le – AntonioCS
utiliser l'attribut "maxlength" comme d'autres l'ont dit.
Si vous devez mettre une longueur maximale de caractères sur une zone de texte, vous devez passer à Javascript. Jetez un coup d'oeil ici: How to impose maxlength on textArea in HTML using JavaScript
En plus de ce qui précède, je tiens à souligner que la validation côté client (code HTML, javascript, etc.) n'est jamais suffisante. Vérifiez également la longueur côté serveur, ou ne vérifiez pas du tout (si ce n'est pas si important que les gens puissent être autorisés à contourner cela, alors ce n'est pas assez important pour justifier vraiment des mesures pour éviter cela, non plus).
En outre, les gars, il (ou elle) a dit HTML, pas XHTML. ;)
Pour l'élément d'entrée < > il y a l'attribut maxlength: cependant,
<input type="text" id="Textbox" name="Textbox" maxlength="10" />
(en passant, le type est que d'autres sont en train d'écrire "texte", pas "zone de texte"), vous avez utiliser javascript avec <textarea> s. De toute façon, la longueur devrait être vérifiée sur le serveur de toute façon.
vous pouvez définir maxlength avec jquery qui est très rapide
jQuery(document).ready(function($){ //fire on DOM ready
setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
Vérifiez sur le serveur comme vérification finale, mais ajoutez l'amélioration côté client si vous pouvez le faire; cela rend l'expérience utilisateur plus riche. – Rob
Bien sûr, plus de travail, mais certainement le meilleur moyen d'y aller. –