IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Taille d'un champs par rapport à son nombre de caractères, sa police et sa taille de police


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Points : 80
    Points
    80
    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.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    un width:auto ne marche pas?

    A+.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Comment connaitre la taille que prendra un texte ?

    A quoi ça sert que Spaffy se décarcasse ?

  4. #4
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Points : 80
    Points
    80
    Par défaut
    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 Fichiers attachés

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    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...

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  7. #7
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Points : 80
    Points
    80
    Par défaut
    Même si ce n'est pas la réponse que je souhaitais, merci pour vos réponses toujours aussi rapide et complète ...

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    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 ...

    Même si ce n'est pas la réponse que je souhaitais,
    ?

  9. #9
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    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

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    si le contenu est plus long que la taille du champs de la base il le tronquera tout seul ...

    sinon substr

  11. #11
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    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.

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    heu ici c'est le forum javascript ...
    substr existe bien en javascript ...

    au pire mets un maxdLength sur l'input

  13. #13
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/01/2012, 21h41
  2. Réponses: 9
    Dernier message: 19/09/2008, 11h41
  3. Réponses: 3
    Dernier message: 17/01/2007, 09h33
  4. Réponses: 4
    Dernier message: 24/01/2006, 13h18
  5. [débutant]Desactiver des champs par rapport a un select
    Par Pymm dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/02/2005, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo