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 :

Récupérer un tab ou un id


Sujet :

JavaScript

  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut Récupérer un tab ou un id
    Voici la fonction qui doit m'afficher une valeur :

    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
    34
    35
     
    function getValeur()
    {    
     
        getXhr();
     
        xhr.onreadystatechange = function() {
     
            if (xhr.readyState == 4)
            {
                var reponse = xhr.responseXML;
                reponse = unescape(reponse);
     
                alert(reponse);
     
                var tag = reponse.getElementById('pesee');
                // var val = tab.childNodes[0].nodeValue;
                alert(tag);
     
     
     
            }
     
        }
     
     
        var lien = 'monLien';
     
        xhr.open("post", lien, true);
     
        xhr.setRequestHeader('Cache-Control','no-cache');
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     
        xhr.send(null);
    }
    Et le XML récupéré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version='1.0' encoding='ISO-8859-1'?>";
    <pesee id='pesee'>
    <train1>
    2598
    </train1>
    </pesee>
    Et bien javascript ne connait pas :

    reponse.getElementById('pesee');
    OU
    reponse.getElementsByTagName('pesee');


    Pourquoi ?

    Merci.

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    ce ne sont pas les méthodes d'une chaine de caractères.

  3. #3
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Peux-tu préciser ta pensée ?

    La lecture d'un flux XML est bien un flux caractères (et non binaire), non ?

    Et si ta réflexion est exacte, comment alors pointer sur la balise <pesee> ?

    Je te remercie de bien vouloir m'indiquer comment tu fais.

    A+

  4. #4
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Et alors, il n'y a personne ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Février 2006
    Messages : 34
    Par défaut
    Voici qqs pistes qui fonctionne sous IE, FF, Opera

    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
     
     
    var domXml = xhr.responseXML;
    // + -------------------------------------------------------------------
    // + Extraction des nodes 'entite' dans un tableau 
    // + -------------------------------------------------------------------
    var element="entite";
    var tab_elt = domXml.getElementsByTagName(element);
     
    // + -------------------------------------------------------------------
    // + Analyse du document XML
    // + -------------------------------------------------------------------
     
    for(loop=0; loop <tab_elt.length; loop++) {
    	var tab_child = tab_elt[loop].getElementsByTagName('zone');
    }
    Qqs explications:
    1 - la variable "element" contient l'élément "père" à rechercher. Dans ton cas, ce sera "pesee".
    2 - En utilisant la methode getElementsByTagname("element"), tu obtients un tableau d'objets DOMXML, variable tab_elt. Dans ton cas, tu n'auras qu'un objet car un seul "élement père" délimité par <pesee></pesee>.
    3 - La boucle for(loop.....) permet de parcourir l'ensemble des objets "père" et d'accéder aux "éléments fils", toujours en utilisant la methode getElementsByTagName('ElementFils')
    4 - tab_child contient donc les objets "fils". Dans ton cas, tu n'auras qu'un seul objet objet car un seul <train1></train1>
    5 - Pour accéder aux valeurs (the last), il faut utiliser tab_child[0].nodeValue, methode qui te donne la valeur du noeud. Dans ton cas, ce sera 2598.

    Voilà, j'espère avoir répondu à tes attentes et désolé si trop détaillé.
    Ps: désolé pour les fotes d'ortografes ;-)

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/05/2014, 22h13
  2. récupérer la touche tab dans un Tedit
    Par sher56 dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/05/2006, 12h26
  3. Réponses: 11
    Dernier message: 23/07/2002, 14h33
  4. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

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