Salut,
J'avais ça en JS !
Je vais voir si je te retrouve ça quelque part !

Edit :
Dans le "onFocus" de ton champ tu ajoutes :
- Code : Tout sélectionner
startListener(this, 50, document.forms[0].nom de ton champ);
et dans le "onBlur" de ton champ tu ajoutes :
- Code : Tout sélectionner
lastCount = 0;
if (checkCharCount()) {
this.focus();
}
else {
stopListener();
}
Code JS à mettre dans une librairie de script que tu ajoutes ensuite à ton masque :
- Code : Tout sélectionner
var listenField;
var counterField;
var maxChars;
var lastCount;
function startListener(field, maxNbChars, countField){
listenField = field;
counterField = countField;
maxChars = maxNbChars;
lastCount = 0;
checkCharCount();
}
function stopListener(){
listenField = null;
counterField = null;
maxChars = 0;
lastCount = 0;
}
function checkCharCount(){
if (listenField == null) {
return false;
}
var count = listenField.value.length;
if (counterField != null) {
/*counterField.value = count;*/
counterField.value = maxChars - count;
if (counterField.value <= 0) {
counterField.value = 0;
}
}
if (count > lastCount) {
if (count > maxChars) {
lastCount = count;
alert("Le texte ne doit pas dépasser " + maxChars + " caractères");
}
}
else {
lastCount = count;
}
setTimeout("checkCharCount()", 200);
return (count > maxChars);
}