Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1064 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  calculer le nombre de ligne d'une chaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

calculer le nombre de ligne d'une chaine

n°1932356
jedebute75
Posté le 16-10-2009 à 11:11:25  profilanswer
 

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.

mood
Publicité
Posté le 16-10-2009 à 11:11:25  profilanswer
 

n°1932412
jedebute75
Posté le 16-10-2009 à 12:06:38  profilanswer
 

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...

n°1932443
abais
Posté le 16-10-2009 à 13:40:23  profilanswer
 

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...


Message édité par abais le 16-10-2009 à 13:42:07

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1932460
Hermes le ​Messager
Breton Quiétiste
Posté le 16-10-2009 à 14:08:06  profilanswer
 

jedebute75 a écrit :

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...


 
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.


Message édité par Hermes le Messager le 16-10-2009 à 14:08:42

---------------
Expert en expertises
n°1933114
jedebute75
Posté le 19-10-2009 à 11:46:44  profilanswer
 

bonjour,
merci pour vos réponse.
hermes, je vais creuser ta réponse, c'est une excellente piste, je n'y avais pas pensé...

n°1933118
jedebute75
Posté le 19-10-2009 à 12:25:35  profilanswer
 

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...

n°1933120
abais
Posté le 19-10-2009 à 12:46:59  profilanswer
 

et "ma" technique ?


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1933121
Hermes le ​Messager
Breton Quiétiste
Posté le 19-10-2009 à 12:48:26  profilanswer
 

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.
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...


 
Comment tu les comptes tes \n ?  :sarcastic:


---------------
Expert en expertises
n°1933126
jedebute75
Posté le 19-10-2009 à 13:13:50  profilanswer
 

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

n°1933129
Hermes le ​Messager
Breton Quiétiste
Posté le 19-10-2009 à 13:36:27  profilanswer
 

jedebute75 a écrit :

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


 
 
moncontenu.innerHTML.split("\\n" ).length;  :sarcastic:


---------------
Expert en expertises

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  calculer le nombre de ligne d'une chaine

 

Sujets relatifs
Projet de site de vente en lignefprintf et retour à la ligne
traitement ligne par ligne (trop hard pour moi)[Shell/Batch] "cat" à partir d'une ligne précise ...
Chaine de caractère :S + Expression regulièrecalculer % php Mysql
[C++] Extraction des bits d'un nombre[Résolu tout seul] [GTK] GTK Cell Renderer ne dessine qu'une ligne ?
[RESOLU]Limiter le nombre de résultats d'un fichier xml[RESOLU]Arrondi à partir d'une chaine de caractère
Plus de sujets relatifs à : calculer le nombre de ligne d'une chaine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR