Rafraichissement d'une Div en ajax

Résolu
tybmhi Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -  
 tonio2807 -
Bonjour à tous,

J'ai vraiment besoin de vous ! Là je rame !! Je tente de me lancer dans l'ajax mais c'est pas évident pour ma petite tête. J'ai créer un formulaire qui envoie un message qui apparait sur la même page que celui-ci. Le formulaire est traité sur une page différente appelé "requete_messagerie_reponse.php". Jusque là tout se passe bien, le formulaire passe bien et les données sont bien enregistrée. J'aimerais que l'internaute n'ai pas besoin d'actualiser la page pour voir le nouveau message qu'il vient de poster. Et là, je suis au bord du ravin !! cela fait plusieurs jours que j'essaie et je n'arrive à rien. Je pense qu'il ne me manque pas grand chose à ce code mais... Quelqu'un peut-il m'aider s'il vous plait ? merci d'avance
ps: la div à rafraichir a pour id id="les_reponses"


<script language="JavaScript">   
function formulairereponse(posteur,id_message,destinataire,sujet,message_reponse,submit_messagerie_reponse)   
{   
  var OAjax;   
  if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();   
  else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP');    
  OAjax.open('POST',"requete_messagerie_reponse.php",true);   
  OAjax.onreadystatechange = function()   
  {   
      if (OAjax.readyState == 4 && OAjax.status==200)   
      {   
          if (document.getElementById)    
          {       
              if (OAjax.responseText =='true') { /* OK */   
                     
                   $('div#messagerie_reponse').html('<p style=color:green;width:100%;text-align:center; id=\'confirmMsg\'>Votre message a bien été envoyé !</p>');   
                      
document.getElementById("les_reponses").innerHTML = msg;   

J'aimerais mettre la fonction de rafraichissement ici
                      
              }else{                             /* PAS OK */   
                    document.getElementById('msg_messagerie_reponse').innerHTML='<font color=RED>'+OAjax.responseText+'</font>';   
                        
              }   
          }        
      }   
  }   

  OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');   
  OAjax.send('posteur='+posteur+'&id_message='+id_message+'&destinataire='+destinataire+'&sujet='+sujet+'&message_reponse='+message_reponse+'&submit_messagerie_reponse='+submit_messagerie_reponse);                     
}    
</script>


--

5 réponses

tybmhi Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   12
 
Merci beaucoup youkc !! Ce lien m'aide beaucoup mais j'ai encore un problème. La div s'affiche bien au départ, avec le chiffre aléatoire. Mais lorsque je clique sur le bouton, le chiffre disparait et rien ne se charge... A chaque fois. Aurais tu une idée s'il te plait ?


<script type="text/javascript"src="http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">
    function actualise_div() {
        $(document).ready(function() {
            $('#div_a_actualiser').load('messagerie_reponse2.php #div_a_actualiser');
        });  
    }
</script>

    <h3>Actualiser un "DIV" avec JQuery </h3>
    <INPUT TYPE="BUTTON" OnClick="actualise_div()" VALUE="Click">
    <div id="div_a_actualiser" style="background:white; color:blue; width:50px; height:50px; font-size:25px;">
        <?php
        // affichage d'une valeur aléatoire pour voir l'effet d'actualisation
            echo rand(10,100); 
        ?>
    </div>

--
0
youkc Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   3
 
j'ai tester ça marche nikel chez moi.

es ce que le nom de ta page est bien "messagerie_reponse2.php" ?
0
tybmhi Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   12
 
Merci beaucoup !!! J'ai mis le script

<script src="js/jquery-1.7.min.js"></script>


et ça fonctionne nickel. Vraiment merci à toi et à bientôt !
0
tonio2807
 
Est il possible de faire la même chose sans le bouton click? Faire en sorte que la balise div se rafraichisse toute les 2 secondes par exemple?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
youkc Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour,

je croix que ça peut t'aider : http://esp-codesources.lenyx.org/?p=188
-2