Comment imposer une limite de caractères à une saisie de texte au format HTML?
Il y a 2 solutions principales:
Le HTML pur:
<input type="text" id="Textbox" name="Textbox" maxlength="10" />
Le JavaScript (attachez-le à un événement onKey):
function limitText(limitField, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
}
}
Mais de toute façon, il n'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 bien préférable de le vérifier côté serveur, avec un script PHP/Python//.
il y a un attribut maxlength
<input type="text" name="textboxname" maxlength="100" />
En plus de ce qui précède, je voudrais 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 contrôlez pas du tout (si ce n'est pas si important que les personnes puissent être autorisées à le contourner, alors ce n'est pas assez important pour justifier réellement des mesures pour empêcher cela, que ce soit).
En outre, les boursiers, il (ou elle) a dit HTML, pas XHTML. ;)
utilisez l'attribut "maxlength" comme d'autres l'ont dit.
si vous devez définir une longueur maximale de caractères dans une zone de texte, vous devez vous tourner vers Javascript. Jetez un oeil ici: Comment imposer maxlength à textArea en HTML avec JavaScript
Pour l'élément <input>, l'attribut maxlength:
<input type="text" id="Textbox" name="Textbox" maxlength="10" />
(Au fait, le type est "text", pas "textbox" comme les autres écrivent), cependant, vous devez utiliser javascript avec <textarea> s. Dans tous les cas, la longueur doit être vérifiée sur le serveur.
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')
})