Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer valeur balise div d'un code source

Sujet résolu
    4 janvier 2009 à 12:05:01

    Bonjour,

    Après traitement de ma page en ajax, je récupère le code source d'une autre page grace à ca :

    xhr_object.responseText
    


    Quand je fait un alert, j'ai le code source de l'autre page, ca marche.

    Maintenant, de ce code source, je voudrais récupérer que la partie qu'il y a dans la balise div 'v_pseudo'

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      4 janvier 2009 à 12:37:53

      Dans ce cas, pourquoi ne pas renvoyer uniquement le contenu de cette balise ? Si tu ne peux pas faire ça alors il faut utiliser un parser XML, c'est expliqué dans le tuto sur la requête XMLHttpRequest ;) .
      • Partager sur Facebook
      • Partager sur Twitter
        4 janvier 2009 à 13:17:10

        Citation : Nesquik69

        Dans ce cas, pourquoi ne pas renvoyer uniquement le contenu de cette balise ? Si tu ne peux pas faire ça alors il faut utiliser un parser XML, c'est expliqué dans le tuto sur la requête XMLHttpRequest ;) .



        Par XML je peux pas pour certaines raisons, après voilà, c'est ce qu'il me faut, renvoyer seulement le contenu de la balise.

        J'ai essayé en faisant :

        test = xhr_object.document.getElementById('v_pseudo').innerHTML;
        		alert(test);
        


        Mais ca ne marche pas.
        • Partager sur Facebook
        • Partager sur Twitter
          4 janvier 2009 à 13:35:26

          Citation : guyguy333

          Par XML je peux pas pour certaines raisons, après voilà, c'est ce qu'il me faut, renvoyer seulement le contenu de la balise.


          Dans ce cas tu fais ça en PHP, je suppose que le code que tu récupères est envoyé par la page PHP que tu appelles. Donc dans ce cas, au lieu de lui dire de renvoyer toute une page eh bien tu lui dis de renvoyer seulement le contenu de ta balise.
          • Partager sur Facebook
          • Partager sur Twitter
            4 janvier 2009 à 14:11:40

            Citation : Nesquik69

            Citation : guyguy333

            Par XML je peux pas pour certaines raisons, après voilà, c'est ce qu'il me faut, renvoyer seulement le contenu de la balise.


            Dans ce cas tu fais ça en PHP, je suppose que le code que tu récupères est envoyé par la page PHP que tu appelles. Donc dans ce cas, au lieu de lui dire de renvoyer toute une page eh bien tu lui dis de renvoyer seulement le contenu de ta balise.



            ah ok, et je fais comment pour renvoyer seulement le contenu de la balise ? car si vous voulez la page php ou je veux récupérer ce qu'il y a dans la balise div je ne peux pas la modifier. Donc en faite, il faudra que j'arrive avec le javascript à ne récupérer que la partie dans la balise div
            • Partager sur Facebook
            • Partager sur Twitter
              4 janvier 2009 à 14:25:27

              Houlà... mais c'est compliqué ton truc :o .

              Bon, on va procéder par étapes :

              - Pourquoi tu ne peux pas modifier la page PHP ?
              - Pourquoi tu ne peux pas utiliser le parser XML ?
              • Partager sur Facebook
              • Partager sur Twitter
                4 janvier 2009 à 14:39:56

                Citation : Nesquik69

                Houlà... mais c'est compliqué ton truc :o .

                Bon, on va procéder par étapes :

                - Pourquoi tu ne peux pas modifier la page PHP ?
                - Pourquoi tu ne peux pas utiliser le parser XML ?



                Enfete, le site fonctionne avec un système de template et à chaque page ouverte, ca affiche le code html du template et au milieu on met le code qu'on veut, c'est ce que je peux modifié.
                Donc je peux pas utilise d'XML mais oui je peux mettre du code php au milieu de la page, ce qui est déjà présent

                Merci
                • Partager sur Facebook
                • Partager sur Twitter
                  4 janvier 2009 à 15:18:23

                  J'ai bien fait de poser la question ^^ .

                  Bref, un parser XML ne consiste pas à écrire du XML mais à l'analyser (ou analyser du HTML, c'est la même chose). En clair tu vas récupérer la réponse par le biais de la variable xhr.responseXML et tu vas ajouter ceci :

                  var response = xhr.responseXML.getElementsByTagName('div'); // On récupère dans un tableau tous les divs qui existent dans la réponse.
                  
                  for(var i=0 ; i < response.length ; i++) { // Là on parcourt complètement le tableau.
                    if(response[i].id == 'v_pseudo') {
                      // On a retrouvé la balise que tu souhaitais, tu fais maintenant ce que tu veux.
                      break; // Pour briser la boucle une fois qu'on a trouvé ce que l'on cherchait.
                    }
                  }
                  


                  Je n'ai pas testé le code, il se peut qu'il y ait des erreurs mais au moins tu peux voir le principe du parser XML ;) .
                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 janvier 2009 à 14:38:54

                    Bonjour,

                    Le code ne marche pas dès que je met responseXML car j'ai une page en html.
                    En faite, j'arrive à récupérer le code source de l'autre page avec xhr_object.responseText
                    Maintenant il faudrait que je parse ce code pour récupérer seulement ce qu'il y a dans la balise verif_pseudo
                    J'ai tenté de réutiliser votre code mais ca ne vaut pas marcher, peut etre que responseText en est la cause
                    Merci
                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 janvier 2009 à 14:52:12

                      Citation : guyguy333

                      Le code ne marche pas dès que je met responseXML car j'ai une page en html.



                      Le XML sait lire une page HTML...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 janvier 2009 à 15:33:50

                        Citation : Golmote

                        Citation : guyguy333

                        Le code ne marche pas dès que je met responseXML car j'ai une page en html.



                        Le XML sait lire une page HTML...



                        Ah oki, je ne croyais pas que ca pouvait marcher.

                        Vous pourriez me donner un exemple de parages pour récupérer la valeur dans la balise div 5545 svp en sachant que j'arrive déjà à récupérer le code source de la page entière, comme ici?

                        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                        <html xmlns="http://www.w3.org/1999/xhtml">
                        <head>
                        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                        <title>Title</title>
                        <link href="./templates/blueguy/style.css" rel="stylesheet" type="text/css" />
                        <script type="text/javascript" src="js/functionAddEvent.js"></script>
                        <script type="text/javascript" src="js/inscription.js"></script>
                        <script type="text/javascript" src="js/xmlHttp.js"></script>
                        <script type="text/javascript" src="js/jquery.js"></script>  
                        </head>
                        
                        <body>
                        <div id="1">test</div>
                        <div id="5545">ce que je veux récupérer par exemple</div>
                        </body>
                        


                        Merci
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Récupérer valeur balise div d'un code source

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown