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 :

Lire la taille d'un élément de <form>


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Référent technique
    Inscrit en
    Novembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Référent technique
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2004
    Messages : 19
    Par défaut Lire la taille d'un élément de <form>
    Bonjour à tous,

    Je voudrais récupérer en JS la taille (plus précisemment la longueur en pixels) d'un élément <select> d'une <form>.
    J'ai bien sûr commencé par utiliser la propriété clientWidth, mais elle ne fonctionne pas sous IE.

    Avez-vous une solution à me proposer ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Si tu as un style sur ton select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('iddetonselect').style.width;
    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('iddetonselect').offsetWidth;

  3. #3
    Membre averti
    Homme Profil pro
    Référent technique
    Inscrit en
    Novembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Référent technique
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2004
    Messages : 19
    Par défaut
    Je viens d'essayer, le offsetWidth me renvoie 0 aussi (j'ai fait un alert pour être sûr).
    Je n'ai pas imposé de style sur le <select> et je cherche à lire sa longueur afin de forcer celle des <input> (dans le même formulaire) à la même taille.

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Pourtant je viens d'essayer ça qui fonctionne très bien :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <select id="truc">
       <option>Coucoucoucoucoucoucou</option>
    </select>
    <input type="button" value="Test" onclick="alert(document.getElementById('truc').offsetWidth)" />

  5. #5
    Membre averti
    Homme Profil pro
    Référent technique
    Inscrit en
    Novembre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Référent technique
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2004
    Messages : 19
    Par défaut
    Pour ma part, j'ai mis ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function init_affichage() {
    // recuperation de la taille du menu déroulant
    	var taille = document.getElementById("menu_parent").offsetWidth;
     
    // retaillage des autres elements
    	document.getElementById("menu_id").style.width = taille;
    	document.getElementById("menu_level").style.width = taille;
    	document.getElementById("menu_titre").style.width = taille;
    	document.getElementById("menu_lien").style.width = taille;
    }
    Et comme précedemment, ça marche sous FireFox, mais pas sous IE.
    Je désespère de comprendre.

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("menu_id").style.width = taille + "px";

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/01/2008, 15h04
  2. Modifier la taille d'un élément en fonction de la resolution
    Par kstou2001 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/12/2007, 23h38
  3. [css]diminuer la taille d'un élément à imprimer
    Par Mat_DZ dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/08/2006, 16h48
  4. [CSS] Elements flottants et taille de l'élément parent
    Par Blustuff dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 28/07/2006, 16h31
  5. [Debutant] Comment lire la taille d'un fichier binaire ?
    Par Invité dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/12/2003, 19h20

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