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] Actualiser multiples div en ajax ?


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par défaut [AJAX] Actualiser multiples div en ajax ?
    Bonjour,

    Pour commencer, je suis nul en ajax!

    page1.php :
    J'envoie une requête à "page2.php" qui transmet un "id" et je récupère la réponse dans "div=affiche".
    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
     
    <script type="text/javascript">
     
    function ajax(page, fonction)
    {
        var xhr=null;
     
        if (window.XMLHttpRequest) { 
            xhr = new XMLHttpRequest();
        }
        else if (window.ActiveXObject) 
        {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhr.open("GET", "" + page + "?" + fonction + "", false);
        xhr.send(null);
     
        document.getElementById('affiche').innerHTML = xhr.responseText;
     
    }
     
    </script>
     
    <div id="affiche">
    <? 
    if($moncookie[24]==24){
    	echo 'Annonce sauvegardé.';
    }
    else{
    	echo '<a href="javascript:ajax(\'page2.php\', \'id=24\');">Sauvegarder cette annonce?</a>';
    }
    ?>
    </div>
    page2.php :
    Cette page est chargé de créer des cookies en fonction de "l'id" reçut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $id = $_GET['id'];
    setcookie("moncookie[$id]", "$id", time()+60*60*24*365);
    ?>
    Jusque la, pas de soucis!
    Comme j'ai plusieurs "id", j'ai forcément plusieurs cookies de créés mais comme mon div utilise un "unique id" seul le premier fonctionne.

    Comment transformer mon code pour que je puisse utiliser une suite de div associé chacun à un identifiant unique du style :

    <div id="affiche1">
    mon texte
    </div>
    <div id="affiche2">
    mon texte
    </div>
    <div id="affiche3">
    mon texte
    </div>
    ?

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par défaut
    Re,

    J'avance un petit peut ...
    Si dans la fonction ajax je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('affiche' + '24').innerHTML = xhr.responseText;
    Puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div id="affiche24">
    <? 
    if($moncookie[24]==24){
    	echo 'Annonce sauvegardé.';
    }
    else{
    	echo '<a href="javascript:ajax(\'page2.php\', \'id=24\');">Sauvegarder cette annonce?</a>';
    }
    ?>
    </div>
    ça fonctionne. Il faut donc (je suppose) que je boucle sur la fonction dans le style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
         for(var i=0; i<n; i++)
        document.getElementById('affiche' + i).innerHTML = xhr.responseText;
    ..mais ça ne fonctionne pas car je suis obligé d'actualiser la page manuellement pour afficher les "div" !

  3. #3
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Il faut que tru crées un nouveau div à la volée au retour de ta requête ajax (pourquoi une requête synchrone d'ailleurs ? ) avec quelque chose comme
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var d = document.createElement("DIV");
    d.id = prochainId;// la variable prochainId étant calculée en fonction des divs déjà présents dans le conteneur
    //(ça peut être simplement une variable globale, ou un input hidden, ou une propriété d'un objet global, etc. à voir selon ton contexte)
    document.getElementById("idDuConteneurDesDivs").appendChild(d);

Discussions similaires

  1. [AJAX] Actualiser plusieurs selects communs ajax
    Par throrin19 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 13/01/2009, 14h42
  2. [AJAX] Actualiser un div avec un grand nombre de paramètres
    Par yoshï dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/11/2008, 11h43
  3. [AJAX] Actualisation auto d'un div apres requete sql
    Par philippe_jmh dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2008, 01h14
  4. actualiser une Div par ajax lors d'un changement coté serveur
    Par dajij dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/08/2008, 18h17
  5. [AJAX] update Multiple div
    Par VooDooNet dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 15/05/2008, 09h18

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