Partage
  • Partager sur Facebook
  • Partager sur Twitter

Rafraichir une div après un clic

Sujet résolu
    31 juillet 2009 à 19:19:55

    Bonjour a tous et toutes.
    Je me tourne de nouveau (et oui encore une fois) vers vous pour une petite question qui me dérange.
    J'ai essayé de la googeliser, mais je n'ai su trouver de réponse a ma question.

    Donc voici le topo.
    J'ai une page lambda, avec disons en pleins milieu une div.
    J'arrive a raffraichir le contenu de la div en utilisant Ajax et cette petite fonction :

    function getDiv1(MyDiv, MyUrl) { 
    var xmlhttp1 = null;  
    var mondiv1 = document.getElementById(MyDiv); 
    	if (!mondiv1) { 
     		return 1; 
     	} 
        if (xmlhttp1 && xmlhttp1.readyState != 0) { 
            xmlhttp1.abort(); 
    	} 
    	xmlhttp1 = getXhr(); 
        if (xmlhttp1) { 
    		xmlhttp1.open("GET", MyUrl, true);  
         	/* on définit ce qui doit se passer quand la page répondra */ 
          	xmlhttp1.onreadystatechange = function() { 
          		if (xmlhttp1.readyState == 4 && xmlhttp1.responseText != '') /* 4 : état "complete" */ { 
    			mondiv1.innerHTML = xmlhttp1.responseText; 
          		}
    		} 
          	xmlhttp1.send(null); 
         } 
    }
    function rafraichir()
    {		
      getDiv1('map10', 'carteadmin2.php');
      setTimeout("rafraichir()", 1000);
    }
    


    Le problème est le suivant, ce script se charge au lancement de la page grace notamment a ceci :

    window.onload = function() { rafraichir();}
    


    Très pratique pour un mini-chat ou autre, mais dans mon cas ce n'est pas ce que je recherche.
    J'aimerais bien trouvé le même effet donc un rafraichissement de ma div, mais seulement après que j'ai cliqué sur un lien.
    En gros que ma div se rafraichisse une seule fois après avoir cliqué sur un lien.
    Ce qui n'est pas le cas actuellement puisque la elle se rafraichie continuellement ...

    Aidez moi je vais péter un boulon !


    J'allais oublier un point essentielle ... je ne me débrouille pas très bien encore avec Ajax et Javascript ... Donc bon.
    • Partager sur Facebook
    • Partager sur Twitter
      1 août 2009 à 1:20:40

      Le rafraichissement automatique est déclenché par setTimeout("rafraichir()", 1000).

      Pour qu'un clic déclenche la mise à jour de la div, il faut spécifier un attribut 'onclick' à ta balise <a>.

      <!-- Pour que la mise à jour est lieu uniquement après un clic : -->
      <a href="..." onclick="getDiv1('map10', 'carteadmin2.php');">Le lien</a>
      
      <!-- Pour que la mise à jour soit automatiquement répétée mais seulement
           après un premier clic : -->
      <a href="..." onclick="rafraichir();">Le lien</a>
      


      Il faut enlever le "window.onload = ..." aussi.
      • Partager sur Facebook
      • Partager sur Twitter
        1 août 2009 à 10:49:42

        Un grand merci a toi Althanater, c'est exactement ce qu'il me manquait (et dire que j'avais juste a supprimer deux lignes :euh: )
        • Partager sur Facebook
        • Partager sur Twitter

        Rafraichir une div après un clic

        × 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