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] Récupérer l'id d'une div avec ajax


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Services à domicile

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Points : 18
    Points
    18
    Par défaut [AJAX] Récupérer l'id d'une div avec ajax
    Bonjour,

    Je me retourne vers vous après avoir eu quelques obstacles avec ajax que je ne maîtrise pas vraiment.
    Voila mon souci, j'aimerais récupérer la valeur de l'id d'une div qui est générée dynamiquement et l'utiliser dans un script php et par la suite changer le message dans la div.

    Voila le code html :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="statut_<?php echo $s11;?>" onClick="javascript:changer(<?php echo $s11;?>)" ><img style="height: 15px; width: 15px; position: relative; top: 3px;" src="/images/changer.png">changer</div>

    Le script js :
    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
     
    <script>
    function changer()
    {
    var xhr_object = null; 
     
        if(window.XMLHttpRequest) // Firefox 
           xhr_object = new XMLHttpRequest(); 
        else if(window.ActiveXObject) // Internet Explorer 
           xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
        else { // XMLHttpRequest non supporté par le navigateur 
         //  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); je commente l'alert
           return; 
        } 
     
        xhr_object.open("POST", "ggt.php", true);
    /* il faudra creer unfichier php ou tu va traiter tes données*/
     
        xhr_object.onreadystatechange = function() { 
           if(xhr_object.readyState == 4) {
        //alert(xhr_object.responseText); // DEBUG MODE
              eval(xhr_object.responseText);
        }
        } 
     
        xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
     
        xhr_object.send(id);//je ne sais pas vraiment ce que je dois mettre en parametre ici
     //alert(xhr_object.responseText);
    }
    </script>
    Et le code php (pour l'instant j'essaie juste d'afficher les post) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    print_r($_POST);
    ?>

    Je sais qu'il me manque le var var1=document.getElementById("**").value; mais je ne sais pas comment l'utiliser.
    Le résultat qui sera affiché après doit ressembler à ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="statut_<?php echo $s11;?>" >traité</div>

    Merci à vous.

  2. #2
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Quand tu appelles ta fonction changer() sur l'événement onclick, tu prévois un paramètre, mais tu ne le récupères pas dans la déclaration de ta fonction.

    Ceci devrait rendre le paramètre id accessible dans ta fonction.

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function changer(id) {
    ...
    }

    Edit: la façon dont tu envoies l'id au script PHP n'est pas correcte: tu dois former une chaîne qui reprend le nom ( récupéré en php dans $_POST["id"] ) et la valeur.

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xhr_object.send("id="+id);

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Services à domicile

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Merci pour votre réponse Ryan,
    maintenant ça fonctionne et je peux récuperer la valeur defini dans ma fonction changer() et non pas celle de 'id=' mais bon je peux faire avec, mais comment changer le message contenu entre les <div></div> ?

  4. #4
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Quelque chose du genre:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		if(xhr_object.readyState == 4 && xhr_object.status == 200)
    		{
    			reponse = xhr_object.responseText;
    			document.getElementById("statut_" + id).innerHTML = reponse;
    		}

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Services à domicile

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    merci pour votre reponse,
    j'ai bidouillé un petit code, qui n'est pas vraiment beau a voir mais fait l 'affaire

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

Discussions similaires

  1. Réponses: 60
    Dernier message: 22/09/2011, 08h25
  2. [AJAX] Raffraichissement d'une div avec ajax
    Par crazymonkey dans le forum AJAX
    Réponses: 16
    Dernier message: 17/06/2009, 15h41
  3. [AJAX] afficher le contenu d'une table avec ajax
    Par anouarsurvive dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/10/2008, 12h26
  4. [AJAX] Vérifier des données dans une BDD avec AJAX
    Par mwech dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/10/2008, 15h13
  5. [AJAX] Ajout de lignes dans une table avec Ajax
    Par Tententai dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/11/2007, 15h54

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