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

AJAX Discussion :

[AJAX] aide traitement responseXML


Sujet :

AJAX

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 92
    Par défaut [AJAX] aide traitement responseXML
    J'utilise responseXML pour mettre à jour dynamiquement un fichier svg.

    responseXML me renvoie 2 éléments <g> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <g id="1">
        </g>
        <g id="2">
        </g>
    J'aimerai pouvoir sélectionner les groupes <g> séparément.

    Jusqu'à présent, je ne renvoyai qu'un seul bloc à la fois et j'utilisai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new_obj=document.importNode(xmlhttp.responseXML.documentElement,false);
    j'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new_obj=document.importNode(xmlhttp.responseXML.getElementById('2'),false);
    mais cela n'est pas la bonne méthode...

    Merci de votre aide.

  2. #2
    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
    Billets dans le blog
    20
    Par défaut
    Le problème c'est que ton XML n'est pas valide, responseXML ne peut donc pas être utilisé.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 92
    Par défaut
    c'est à dire ...

    Ce code peut-il me permettre de réaliser ce que je souhaite ?
    (en accédant à "obj"...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <svg id="obj">
        <g id="1">
        </g>
        <g id="2">
        </g>
    </svg>

  4. #4
    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
    Par défaut
    Bonjour,
    Tu ne dois pas avoir de valeur vide pour les noeuds qui ne sont pas auto-fermantes.

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <svg id="obj">
        <g id="1"/>
        <g id="2"/>
    </svg>

    A+.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 92
    Par défaut
    cette syntaxe n'est pas valide en svg
    pour un groupe <g>
    ...

    ex de code svg valide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <svg>
    <g>
    <rect .../>
    <rect .../>
    </g>
    <g>
    <rect .../>
    <rect .../>
    <rect .../>
    </g>
    </svg>

    responseXML n'est peut être pas la bon moyen d'accéder à de nouveaux éléments svg ...?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 92
    Par défaut
    J'apporte tardivement la réponse :

    côté svg :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <g id='' xmlns='http://www.w3.org/2000/svg'>
    <g id='el1'>
    <rect .../>
    <rect .../>
    </g>
    <g id='el2'>
    <rect .../>
    <rect .../>
    <rect .../>
    </g>
    </g>
    côté script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    new_g=document.importNode(xmlhttp.responseXML.documentElement,true);
    el1=new_g.getElementsByTagNameNS(svgns,'g')[0];

    cela peut toujours servir à d'autres...

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

Discussions similaires

  1. [AJAX] Aide a la saisie
    Par NeHuS dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/02/2007, 18h16
  2. [AJAX] responseText ou responseXML ?
    Par Greggggggg dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 29/08/2006, 09h46
  3. [AJAX] Aide DWR et path
    Par piro dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/05/2006, 13h30
  4. [AJAX] DOM et responseXML
    Par julienr dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/05/2006, 16h07
  5. [AJAX] Utilisation de responseXml
    Par danyboy85 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/04/2006, 16h23

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