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 :

getElementById avec string+variable


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Par défaut getElementById avec string+variable
    Bonjour,

    depuis ce matin je cherche à cibler un div ayant pour ID 'divElement'+countElement, countElement étant une variable.

    J'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('divElement'+countElement)
    mais la console d'erreurs Javascript de Firefox me met que cette expression n'a aucune propriété...

    quelqu'un a la solution ? Je sais que c'est tout con mais là je bloque !!!

    Merci
    Cécile

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    non la syntaxe est bonne le problème vient d'ailleurs ...

    on peut voir le html des elements avec ce type d'id ?
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Par défaut
    sinon, tu peux essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('divElement'.concat(countElement))
    Ca a l'air de marcher chez moi.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    sinon tu crée une variable dans laquelle tu concatene ta variable et ta chaine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var monId='divElement'+countElement;
    document.getElementById(monId)

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 556
    Par défaut
    Bonjour,
    Si tu développes des aspx, ou ascx, attention, Microsoft rajoute l'identifiatn de la page avent tout les controle
    ex : mapage_moncontrole

    Pour en avoirle coeur net, je te conseille d'afficher la source de ta page et de récupére le véritable Id de ton élément

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Par défaut
    Non ça met toujours que ça "has no properties"...

    En fait j'ai un formulaire avec un bouton "Ajouter" qui appelle une fonction javascript, qui crée un div avec les infos ('divElement'+countElement) et qui l'envoie dans un TD de tableau. L'utilisateur peut recommencer autant de fois qu'il veut (d'où le countElement qui s'incrémente à chaque ajout), la valeur du display par défaut du div est 'none', et quand il clique sur le lien "afficher", que j'ai mis juste avant le div des infos, le div s'affiche.

    Voici mon début de code :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    //HTML
    //mon formulaire
    //mon bouton input avec onClick="addDeplacement();"
     
    //Javascript
    var countDeplacement=1;
    function addDeplacement()
    {
    str='<a href="#'" onClick="if (getE(\'divDeplacement'+countDeplacement+'\').style.display==\'none\') { getE(\'divDeplacement'+countDeplacement+'\').style.display=\'\';} else { getE(\'divDeplacement'+countDeplacement+'\').style.display=\'none\'; }">';
    // ça ça marche nickel 
     
    //c'est là où ça coince, et pourtant c'est pareil qu'en haut sans l'inclusion dans le onClick
    	if (getE('divDeplacement'.concat(countDeplacement)).style.display == "none") {
    		str+='afficher les détails <img src="img/fleche_noire_bas.gif" alt="fleche"/>';
    	} else {
    		str+='masquer les détails <img src="img/fleche_noire_haut.gif" alt="fleche"/>';
    	}
    	str+='</a>';
     
    	str+='<div id="divDeplacement'+countDeplacement+'" style="display:none;">';
    //affichage des informations remplies dans le formulaire
      	str+='</div>';
     
    var td=document.getElementById('tdDeplacement'); //je cible mon TD (qui est, lui par contre, dans le code Html)
      if(td)
      {
    	str=td.innerHTML+str;
    	td.innerHTML=str;
      }
      countDeplacement++;
      return true;
    }

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Par défaut
    Pour info, getE revient à document.getElementById, la fonction est plus haut je l'ai pas mise.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Par défaut
    Merci calitom mais j'ai essayé déjà et ça ne marche pas... ça me met toujours getElementById(monId) has no properties dans la console d'erreur...

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 556
    Par défaut
    ce n'est pas le source du code qui est intéressant
    affiche ta page puis va dans Affichage ==> source et tu auras tout le code html généré ==> fais une recherche sur le nom de ton controle, et tu verras comment il l'appelle précisemenent

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    je n'ai toujours pas vue le code html des éléments ...
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Utilisation de getElementById avec une variable
    Par laetivincent dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/01/2014, 14h58
  2. Utilisation de getElementById avec une variable
    Par titiyoyo dans le forum jQuery
    Réponses: 2
    Dernier message: 28/09/2009, 23h48
  3. problème avec une variable de type string
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/06/2007, 14h53
  4. Probleme avec string et variable.
    Par pierre987321 dans le forum Delphi
    Réponses: 3
    Dernier message: 26/04/2007, 13h22
  5. Réponses: 4
    Dernier message: 06/05/2005, 13h37

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