calculer le nombre de ligne d'une chaine - HTML/CSS - Programmation
Marsh Posté le 16-10-2009 à 12:06:38
pour me répondre,
je crains qu'il n'y ai pas de solution à mon problème...
j'ai tenté avec un split sur "\n" mais la textarea fait des retour automatique à la ligne, selon sa taille mais ce ne sont pas des retour automatique effectué par l'utilisateur... je ne peut donc pas les compter...
var nblignes = document.getElementById('madiv').value.split("\n" ).length;
mais le résultat est faux...
Marsh Posté le 16-10-2009 à 13:40:23
Peut-être en récupérant la hauteur d'un conteneur div qui se stretche par rapport à son contenu, et à partir du lineHeight (ou je sais plus comment s'appelle la propriété de style qui retourne la taille totale d'une ligne) en déduire le nombre de ligne...
Enfin, c'est plus de la débrouille, je sais que ça ne répond pas à ta question...
Marsh Posté le 16-10-2009 à 14:08:06
jedebute75 a écrit : pour me répondre, |
Tu mets ton textarea en adéquation avec un div avec display à none qui s'auto-rempli quand tu tapes du texte dans ton textarea et tu regardes le nombre de "\n" dans le contenu de ton div.
Marsh Posté le 19-10-2009 à 11:46:44
bonjour,
merci pour vos réponse.
hermes, je vais creuser ta réponse, c'est une excellente piste, je n'y avais pas pensé...
Marsh Posté le 19-10-2009 à 12:25:35
voilà, je viens de tester, malheureusement, il ne me compte pas les "\n", comme si il n'existait pas dans la div.
en revanche mon script fonctionne en comptant les <br> mais le résultat est encore faux puisque en saut de ligne je peux avoir n'importe quoi (ex des <li> ).
bizzard...
Marsh Posté le 19-10-2009 à 12:46:59
et "ma" technique ?
Marsh Posté le 19-10-2009 à 12:48:26
jedebute75 a écrit : voilà, je viens de tester, malheureusement, il ne me compte pas les "\n", comme si il n'existait pas dans la div. |
Comment tu les comptes tes \n ?
Marsh Posté le 19-10-2009 à 13:13:50
comme ceci :
moncontenu.innerHTML.split("\n" ).length;
ça fonctionne puisque si je remplace \n par une balise existente, ça me la compte sans problème, mais les " _n", rien...
abais, effectivement, je n'ai pas testé ta méthode, si celle-ci ne donne rien, je testerai ...
merci à vous deux
Marsh Posté le 19-10-2009 à 13:36:27
jedebute75 a écrit : comme ceci : |
moncontenu.innerHTML.split("\\n" ).length;
Marsh Posté le 16-10-2009 à 11:11:25
Bonjour,
je souhaite calculer le nombre de ligne d'une chaine de caractères, sans tenir compte du nombre de caractère.
j'ai en effet un bloc de taille limité, avec une hauteur en pixel fixe.
le texte pouvant être de la forme :
blabla blabla blabla, blabla blabla
blablablablablablablablablabla
blablablabla.
blablablabla
bal,
bsdudvh.
ou
blablablablablablablablablablablablablabla
blablablablablablablablablablablablablabla
blablablablablablablablablablablablablabla
le nombre de caractère m'importe peu car xx caractères peuvent tenir ou pas dans mon bloc, selon le nombre de ligne et donc cela dépend de la mise en forme du texte.
je veux donc compter le nombre de ligne et limiter la textarea à ce nombre de ligne.
sauf que là je ne trouve pas de solution en javascript. (je dois montrer en temps réèl à l'utilisateur ou il en est par rapport à la limite imposé, après il y a une vérif en php).
Merci pour votre aide.