feno59
Messages postés7Date d'inscriptionjeudi 25 septembre 2014StatutMembreDernière intervention31 octobre 2014
-
Modifié par jordane45 le 25/09/2014 à 14:10
feno59
Messages postés7Date d'inscriptionjeudi 25 septembre 2014StatutMembreDernière intervention31 octobre 2014
-
25 sept. 2014 à 14:58
Bonjour,
Je travaille sur un site de campagne emailing. chaque campagne dispose d'un bouton play pause. Quand je clique sur le bouton play un script php (campagne_lancer.php) est appelé.
je souhaite mettre un système de décompte d'envoi de mail ex : reste 10 mails / 10 , reste 9 mails sur 10, reste 8 mails sur 10.....
Pour rafraichir le résultat j'ai crée la fonction rafraichir que je vais appeler via la fonction setinterval !!
le problème est : lors de la première boucle du set interval ma variable idr est définie (ex idr: 6) mais lors de la deuxième boucle il devient indéfinie..
idr est definie lors du clic sur le bouton play donc comme je click plus sur le bouton idr devient indefinie et mon décompte ne s'affiche plus....
Auriez vous une idée pour que ma variable idr ne disparaisse plus ?
Je suis débutant dans le domaine et je sais pas si j'ai ete très clair mais je peux mettre une session teamviewer en place pour ce que ca intéresse .
Merci votre aide
Voici mon code javascript :
function lancer(idCam){
//
// console.log("lid de la campagne est : " + idCam);
setInterval("rafraichir()", 100);
var url = 'campagne_lancer.php?id_camp='+idCam;
xhr_object.open("GET",url, true);
xhr_object.send(null);
//filtre();
}
function rafraichir(idr){
if (window.XMLHttpRequest)
xhr_object = new XMLHttpRequest();
else if (window.ActiveXObject)
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
console.log("lidr du rafraichir est : " + idr);
var url = 'reste.php?idr=' + idr;
xhr_object.open("GET", url, false);
xhr_object.send(null);
$("#reste_"+idr).html(xhr_object.responseText);
//document.getElementById('reste_' + idr).html(xhr_object.responseText);
}
var isClicked ="false";
function change(x,id,id2,idr){
if(isClicked == "false"){
x.src="campagne_stopper.png";
document.getElementById('gif_' + id2).innerHTML = 'En cours d\'envoi <img src="barre.gif" height="5" width="30">';
isClicked = "true";
rafraichir(idr);
lancer(id);
jordane45
Messages postés38240Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 septembre 2024345 25 sept. 2014 à 14:10
jordane45
Messages postés38240Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 septembre 2024345 Modifié par jordane45 le 25/09/2014 à 14:39
Bonjour,
Déjà... au niveau de ton code...
Je vois que utilises JQUERY..... dans l'idéal.. fais ton AJAX aussi avec JQUERY !
Ensuite... pour ce qui est de ton souci..... tu as une variable dans les paramètres de ta fonction.. mais tu ne lui "passe pas" lorsque tu l'appelles dans ta boucle..
setInterval("rafraichir()", 100);
A la limite... ton IDR .. tu le stocke quelque part dans ta page (dans un input hidden) par exempe... et plutot que de le mettre en paramètres.. tu le LIS directement dans la page...
Avant de poser une question, merci de lire la charte du site. Cordialement, Jordane
feno59
Messages postés7Date d'inscriptionjeudi 25 septembre 2014StatutMembreDernière intervention31 octobre 2014 25 sept. 2014 à 14:58
serais tu comment je peux faire pour recuperer la valeur 0 ?
je m'explique : quand le decompte se fini : Reste 0 mails sur 10
comment puis faire pour arrete le setinterval precisement a 0 ?