Rafraichissement d'une Div en ajax

Résolu/Fermé
tybmhi Messages postés 200 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 18 septembre 2017 - Modifié par tybmhi le 2/08/2012 à 12:30
 tonio2807 - 22 avril 2013 à 10:35
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 dimanche 13 juillet 2008 Statut Membre Dernière intervention 18 septembre 2017 12
2 août 2012 à 12:58
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 lundi 14 mars 2011 Statut Membre Dernière intervention 15 août 2012 3
2 août 2012 à 13:10
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 dimanche 13 juillet 2008 Statut Membre Dernière intervention 18 septembre 2017 12
2 août 2012 à 13:30
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
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 lundi 14 mars 2011 Statut Membre Dernière intervention 15 août 2012 3
2 août 2012 à 12:35
Bonjour,

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