coucou tlm
et merci pour vos réponse.
J'ai un peu amélioré mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
function compte_ligne(texte)
{
var nl="\r\n";
var nbligne=texte.split(nl).length;
return nbligne;
}
function limit_ligne(f,lettre,texte)
{
var chaine="";
var nbligne_max=3;//nombre max de ligne souhaité
var nl="\r\n";//correspond au caractère retour chariot
var tableau=texte.split(nl);
var nbligne=compte_ligne(texte);
if ((lettre==13)&&(nbligne>nbligne_max-1))
{
for(var i=0;i<nbligne_max;i++)
{
if (i<nbligne_max-1)
{
chaine+=tableau[i]+'\r\n';
}
else
{
chaine+=tableau[i];
}
}
f.value=chaine;
}
} |
J'avais cependant encore eut un soucis avec un saut de ligne qui s'affichait malgré tous mes traitements.
j'ai donc testé onkeyup, onkeydown et onkeypress et pour éviter qu'il prenne en compte le dernier retour à la ligne, il semble qu'il faille utiliser onkeyup :
<textarea name="observation_form_validation_magasin" cols="50" rows="4" class="textarea" onkeyup="compte_caractere(this,this.form); limit_ligne(this,event.keyCode,observation_form_validation_magasin.value);">';
Ainsi il n'affiche plus le saut de ligne à la fin .
Encore merci pour votre aide.
J'indique le post comme résolu.
Partager