Remplacer un onclick par requête Ajax

monoski Messages postés 132 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 13 mai 2013 - 30 janv. 2011 à 18:18
monoski Messages postés 132 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 13 mai 2013 - 1 févr. 2011 à 09:27
Salut tout le monde,

J'utilise jquery et un petit plugin intitulé progressbar qui permet de réaliser de jolie barre de progression.
Dans la page de démo : http://t.wits.sg/misc/jQueryProgressBar/demo.php#
Une des barres changes de valeur grâce à des contrôles qui prennent la forme d'un lien comportant l'attribut onclick suivant :

[# 20]

En l'espèce, cela permet de régler la barre à 20. J'aimerai réaliser une telle action mais via une requête Ajax et comme je suis une quiche en javascript je n'y arrive pas.

Voici ma progressebar originale :

$(document).ready(function() {
$("#bdv").progressBar(<? echo $fetchx['pv'];?>,{max: <? echo $fetchx['pv_max'];?>, textFormat: 'fraction', barImage:

<? 
if($fetchx['pv'] >= $fetchx['pv_max']*75/100){echo "'images/progressbg_green.gif'";} 
elseif($fetchx['pv'] >= $fetchx['pv_max']*50/100 && $fetchx['pv'] < $fetchx['pv_max']*75/100){echo "'images/progressbg_yellow.gif'";}
elseif($fetchx['pv'] >= $fetchx['pv_max']*25/100 && $fetchx['pv'] < $fetchx['pv_max']*50/100){echo "'images/progressbg_orange.gif'";}
elseif($fetchx['pv'] >= $fetchx['pv_max']*0/100 && $fetchx['pv'] < $fetchx['pv_max']*25/100){echo "'images/progressbg_red.gif'";}
?>
});
});


Voici ma requête Ajax :


function pvUpdate(id,url){
var xhr_object = null;
var position = id;
   if(window.XMLHttpRequest)  xhr_object = new XMLHttpRequest();
  else
    if (window.ActiveXObject)  xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 

// On ouvre la requete vers la page désirée
xhr_object.open("GET", url, true);
xhr_object.onreadystatechange = function(){
if ( xhr_object.readyState == 4 )
{
// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
document.getElementById(position).innerHTML = xhr_object.responseText;
var mesScripts = document.getElementById("bdv").getElementsByTagName("script");
for (var i=0; i<mesScripts.length; i++) {
eval(mesScripts[i].innerHTML);
}


}
}
// dans le cas du get
xhr_object.send(null);

  
}


Et l'url interrogée est disons bdv.php.

Plusieurs questions : quel élément dois-je modifier dans ma page contenant la progressbar ? (Dois je faire une div indépendante, dois-je assigner la progressbar à une div et générer carrément un nouveau code ?)
Ne pourrais-je pas générer via ma page php quelque chose se rapprochant du onclick suscité ?

Merci pour votre lecture.


Bonne journée à tous =)

1 réponse

monoski Messages postés 132 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 13 mai 2013 1
1 févr. 2011 à 09:27
Toujours personne ça a l'air pourtant basique pour quelqu'un qui connait le langage comme requête non ?

Juste une minute ou deux s'il vous plait.
0
Rejoignez-nous