Javascript

WRInaute impliqué
Bonjour, j'ai un petit problème. Le code suivant fait rafraichir toute les 2 secondes un div dont l'id est babblebox et qui contient la page ?do=babblebox. Jusqu'à la rien de compliqué.

Ce que je cherche à faire, c'est avoir la possibilité de gérer plusieurs <div> à rafraichir avec cette fonction. Genre rafraichir une autre div nommé babblebox2 qui contiendrait la page ?do=babblebox2 par exemple, et tout ca dans la meme fonction js.

Quelqu'un pourrait t'il m'aider?

Merci

Code:
function getDiv1()
{
  		mondiv1=document.getElementById('babblebox');
		
	  	if (!mondiv1)
  		{
  			return 1;
  		}

    if (xmlhttp1 && xmlhttp1.readyState!=0)
        xmlhttp1.abort();

     xmlhttp1=getXMLHTTP();

     if (xmlhttp1)
     {
         xmlhttp1.open("GET", '?do=babblebox', 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();
  setTimeout("rafraichir()", 2000);
  
}

window.onload = function() { rafraichir();}
 
WRInaute occasionnel
Le but d'une fonction c'est de la réutiliser en passant en paramètre des arguments. Donc pourquoi tu met pas :

Code:
function getDiv1(MyDiv) 
{
        mondiv1=document.getElementById(MyDiv); 

[...]

puis tu l'apelle dans ta fonction rafraichir en mettant le nom du div en paramètre :

Code:
function rafraichir()
{
  getDiv1(babblebox);
  getDiv1(monautrediv);
  setTimeout("rafraichir()", 2000);
 
}
 
WRInaute impliqué
Oui mais tu fais comment pour celle ligne :

xmlhttp1.open("GET", '?do=babblebox', true);

Parceque pour la deuxième <div>, la page à rafraichir sera pas la meme.
 
WRInaute impliqué
Je lirais un petit tuto sur javascript a ta place pour commencer.

Sinon, tu peux mettre quelquechose du genre:

Code:
xmlhttp1.open("GET", '?do='+MyDiv, true);
 
WRInaute impliqué
suite

Oui çà fonctionne, mais le soucis c'est que :

xmlhttp1.open("GET", '?do='+MyDiv, true);

pourrait très bien être

xmlhttp1.open("GET", 'page.php?do='+MyDiv, true);

ou

xmlhttp1.open("GET", 'index.php?do='+MyDiv, true);
 
WRInaute impliqué
suite

Ça fonctionne presque.

Dans la fonction rafraichir, j'ai juste le deuxième getDiv() qui fonctionne

celui ci: getDiv1('?do=babblebox');

et quand j'inverse les places, c'est l'autre qui fonctionne. Je vous pas d'où ça peut venir.

Code:
function rafraichir()
{		
  getDiv1('arenas.php?do=players_online');
  getDiv1('?do=babblebox');
  setTimeout("rafraichir()", 2000);
  
}
 
WRInaute impliqué
suite

Et passer le nom en paramètre de rend pas un site valide car on a un id de ce genre :

<div id="?do=babblebox"></div>
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut