Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2010, 12h09   #1
Membre du Club
 
Inscription : février 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 50
Points : 45
Points : 45
Par défaut Taille d'un champs par rapport à son nombre de caractères, sa police et sa taille de police

Bonjour tout le monde,

J'ai un soucis, et l'ami Google ne m'aide pas trop. J'utilise une API Javascript qui me crée un liste <ul><li> dynamiquement. Je peux récupérer le nombre de caractère pour chaque champs <li>, la police et la taille de la police à chaque fois que ma liste change ...

Je peux fixer la taille dans ma liste en dur, mais ce que j'aimerais, c'est pouvoir la changer dynamiquement de le changement de la liste, afin qu'elle soit pile poil à la bonne taille de la valeur la plus grande se trouvant dans mes champs li (afin de ne pas faire de marge importante ni de couper les champs de ma liste).

Ainsi, la question du se trouvant dans le titre: est il possible de connaitre en JavaScript la taille visuelle d'un champs en connaissant uniquement son nombre caractère, sa police et sa taille de police ?

Je vous remercie d'avance pour vos commentaires.
TokTokTok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 12h27   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Bonjour,
un width:auto ne marche pas?

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 12h42   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
Comment connaitre la taille que prendra un texte ?

A quoi ça sert que Spaffy se décarcasse ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 14h52   #4
Membre du Club
 
Inscription : février 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 50
Points : 45
Points : 45
Citation:
Envoyé par andry.aime Voir le message
Bonjour,
un width:auto ne marche pas?

A+.
C'est une bonne idée, mais malheureusement cela marche pas. (ou je l'utilise mal ...)

Citation:
Envoyé par Bovino Voir le message
Comment connaitre la taille que prendra un texte ?

A quoi ça sert que Spaffy se décarcasse ?
Oui, j'avais aussi essayé avec des offsetWidth mais cela retourne toujours la valeur maximum de l'écran, peut être que cela ne marche pas sur des balises <li> ?

J'attache en lien un peu de code, pour me faire mieux comprendre. L'objectif serait de minimisé l'écran bleu qui s'adapte à la taille du texte.
Fichiers attachés
Type de fichier : html test.html (960 octets, 1 affichages)
TokTokTok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 14h56   #5
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
Citation:
peut être que cela ne marche pas sur des balises <li> ?
Une balise <li> est de type bloc et prend donc toute la largeur disponible par défaut...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 15h15   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 001
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 001
Points : 45 077
Points : 45 077
D'ou l'utilisation dans mon décarcassage d'une balise div en display inline qui peut etre remplacée par une balise span créée et supprimée dynamiquement


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script type='text/javascript'>
		function textWidth(mytext){
		var testdiv=document.createElement('span');
		testdiv.innerHTML=mytext;
		testdiv.style.border=0;
		testdiv.style.margin=0;
		testdiv.style.padding=0;
		testdiv.id='test'
 
		document.body.appendChild(testdiv)
		getwidth=document.getElementById('test').offsetWidth +"px";
		document.body.removeChild(testdiv)
		return getwidth
 
}
 
alert(textWidth('kjh kljh ljkhlkjhlk'))
</script>
</script>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 17h34   #7
Membre du Club
 
Inscription : février 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 50
Points : 45
Points : 45
Même si ce n'est pas la réponse que je souhaitais, merci pour vos réponses toujours aussi rapide et complète ...
TokTokTok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 17h52   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 001
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 001
Points : 45 077
Points : 45 077
deux possibilités:
soiut tu passer le conteneur en display inline et il s'adptera en largeur au contenu
soit tu en forces la lergeur après avoir recupéré la largeur du texte ...

Citation:
Même si ce n'est pas la réponse que je souhaitais,
?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 11h21   #9
Membre confirmé
 
Avatar de pendoRa
 
Homme
Developpeur Java
Inscription : mai 2007
Messages : 284
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Developpeur Java
Secteur : Industrie

Informations forums :
Inscription : mai 2007
Messages : 284
Points : 214
Points : 214
Bonjour,
je me permet de poster ici pour éviter de re-créer un topic similaire.

J'ai un formulaire Access avec plusieurs champs à remplir. Je souhaite laisser libre le nombre de caractère a la saisie mais lors de l'enregistrement dans la base ne prendre que les "x" premiers caractères. J'ai chercher dans l'immense FAQ qui regroupe Access et VBA... en vain.

Comment procéder ?


Merci
pendoRa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 11h25   #10
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 001
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 001
Points : 45 077
Points : 45 077
si le contenu est plus long que la taille du champs de la base il le tronquera tout seul ...

sinon substr
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 11h44   #11
Membre confirmé
 
Avatar de pendoRa
 
Homme
Developpeur Java
Inscription : mai 2007
Messages : 284
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Developpeur Java
Secteur : Industrie

Informations forums :
Inscription : mai 2007
Messages : 284
Points : 214
Points : 214
Ouil il tronquera tout seul, mais je ne souhaite pas avoir le message d'erreur le signalant. Donc le tronquer via le source pour couper précisément chaque champs a la bonne taille.
De plus je me suis renseigné sur substr, et certains disent que cette fonction n'est dispo que pour .net, vrai ?
Je travail sur VBA Access 2003.
pendoRa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 13h40   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 001
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 001
Points : 45 077
Points : 45 077
heu ici c'est le forum javascript ...
substr existe bien en javascript ...

au pire mets un maxdLength sur l'input
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 14h01   #13
Membre confirmé
 
Avatar de pendoRa
 
Homme
Developpeur Java
Inscription : mai 2007
Messages : 284
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Developpeur Java
Secteur : Industrie

Informations forums :
Inscription : mai 2007
Messages : 284
Points : 214
Points : 214
Merci SpaceFrog, je vais voir ca. Désolé ayant effectué la recherche dans le forum VBA, je pensais que ce post était dans le forum VBA

Bonne journée et meilleurs voeux
pendoRa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h40.


 
 
 
 
Partenaires

Hébergement Web