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 :

variable dynamique getElementById


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Par défaut variable dynamique getElementById
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var i=1;
    for(i;i<=nbconso;i++){
        var titre;
        titre = 'conso'+i;
        consototal += document.getElementById(titre).value;
        if(consototal > 8){
    	  alert('toto');
        }
    }
    Voila, je veux récupérer la valeur de mes champs conso1, conso2, conso3, ....
    mais mon appel getElementById(titre) ne prend pas ma valeur conso1, ... mais le mot 'titre'.

    help please

    merci

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Tout d'abord, ceci ne donnera pas un nombre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    consototal += document.getElementById(titre).value;
    Mais bien une concaténation de chaine de caractères.
    Il faut faire un parseInt() de chaque élément avant de l'ajouter à consototal.

    Pour le reste, pourriez-vous nous donner le code HTML qui parle des éléments conso1, conso2, etc. ?

  3. #3
    Membre éclairé Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input value='$consojour' name='conso$i' type=text name=heure size=1 maxlength=4 onkeyup='verifConso(this)'>
    Mes pages sont en php et cet input est dans un tableau HTML, donc il y a plusieurs lignes

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Que donne ceci :

    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
     
    <script>
    function verifConso(obj)
    {
       var consototal = 0;
       for(var i=1; i<3 ; i++)
       {
          var titre = "conso" + i;
          alert(titre);
          alert(document.getElementById(titre).value);
     
          var consommation = parseInt(document.getElementById(titre).value);
          consototal += consommation;
          alert(consototal);
     
          if(consototal > 8)
          {
    	      alert('toto');
          }
       }
    }
    </script>

  5. #5
    Membre éclairé Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Par défaut
    alert(titre); me donne bien les valeurs conso1, ...

    alert(document.getElementById(titre).value);

    ne donne rien :

    document.getElementById(titre) is null

  6. #6
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Et en enlevant name=heure dans la déclaration du(des) champ(s) afin de n'obtenir que le name='conso$i'' ?

  7. #7
    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
    deux names et pas 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 !

  8. #8
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Citation Envoyé par Dark Ryus Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input value='$consojour' name='conso$i' type=text name=heure size=1 maxlength=4 onkeyup='verifConso(this)'>
    Le champ a deux name (une fois 'conso$i', et une fois 'heure').

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

Discussions similaires

  1. variable dynamique dans une fonction javascript
    Par Shivaneth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/04/2005, 15h58
  2. Variables dynamiques
    Par CriPpLe dans le forum C++
    Réponses: 5
    Dernier message: 23/02/2005, 11h56
  3. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 11h44
  4. Récupération de variables dynamiques complexes
    Par ludoboy dans le forum ASP
    Réponses: 7
    Dernier message: 24/05/2004, 17h51
  5. [LG]Problême Variable dynamique de types différents
    Par pierrOPSG dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2004, 16h01

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