Actualiser multiples div en ajax ?
24 messages
• Page 1 sur 2 • 1, 2
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Actualiser multiples div en ajax ?
Bonjour,
Je cherche à actualiser en temps réelle de multiples div commencent par le même "id" en partant de la base ci-dessous
Le lien vers page2.php me permet de créer un cookie du style "moncookie[id]".
Partant du principe que la ligne suivant
peut être remplacé par
Je suppose qu'il est donc possible d'effectuer une boucle comme ci-dessous (je ne sais pas ou ni comment) de façon à pouvoir actualiser de multiples div :
Tout coup de pouce est bienvenue
merci
Je cherche à actualiser en temps réelle de multiples div commencent par le même "id" en partant de la base ci-dessous
- Code: Tout sélectionner
<script type="text/javascript">
function ajax(page, fonction)
{
var xhr=null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("GET", "" + page + "?" + fonction + "", false);
xhr.send(null);
document.getElementById('affiche' + '1').innerHTML = xhr.responseText;
}
</script>
- Code: Tout sélectionner
<div id="affiche1">
<?
if($moncookie[1]==1){
echo 'Annonce sauvegardé.';
}
else{
echo '<a href="javascript:ajax(\'page2.php\', \'id=1\');">Sauvegarder cette annonce?</a>';
}
?>
</div>
Le lien vers page2.php me permet de créer un cookie du style "moncookie[id]".
Partant du principe que la ligne suivant
- Code: Tout sélectionner
document.getElementById('affiche' + '1').innerHTML = xhr.responseText;
peut être remplacé par
- Code: Tout sélectionner
document.getElementById('affiche' + i).innerHTML = xhr.responseText;
Je suppose qu'il est donc possible d'effectuer une boucle comme ci-dessous (je ne sais pas ou ni comment) de façon à pouvoir actualiser de multiples div :
- Code: Tout sélectionner
for( i=0; i<n; i++){
document.getElementById('affiche' + i).innerHTML = xhr.responseText;
}
- Code: Tout sélectionner
<div id="affiche1">***</div>
<div id="affiche2">***</div>
<div id="affiche3">***</div>
etc...
Tout coup de pouce est bienvenue
merci
-

UsagiYojimbo - WRInaute accro

- Messages: 8564
- Inscription: 23 Nov 2005
Re: Actualiser multiples div en ajax ?
Et ton n, tu le définis comment ?
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Re: Actualiser multiples div en ajax ?
Et bien ..bonne question !
En même temps comme je patauge entre ajax et javascript, c'est bien pour ça que je pose des questions ^^.
Doit bien avoir moyen de boucler ou je ne sais quoi d'autre pour ouvrir des "div" commencent par le même "id" non ?
En même temps comme je patauge entre ajax et javascript, c'est bien pour ça que je pose des questions ^^.
Doit bien avoir moyen de boucler ou je ne sais quoi d'autre pour ouvrir des "div" commencent par le même "id" non ?
-

UsagiYojimbo - WRInaute accro

- Messages: 8564
- Inscription: 23 Nov 2005
Re: Actualiser multiples div en ajax ?
Le plus simple à ce niveau : tu ne joues pas avec les id (vu que tu n'en connais pas forcément le nombre), mais avec les classes CSS, et tu utilises jquery pour cible toutes les div affectées à la même classe.
Et du coup tu en profites pour te former sur un framework javascript, plutôt que de réinventer la poudre à chaque fois.
Et du coup tu en profites pour te former sur un framework javascript, plutôt que de réinventer la poudre à chaque fois.
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Re: Actualiser multiples div en ajax ?
Je fais un petit rectificatif, je connais le nombre d'id utilisé puisqu'ils sortent d'un bd. Je connais également les id et valeur utilisé par les cookies. Crois tu vraiment qu'il soit nécessaire de se former à un framwork genre jquery alors que j'en aurais que très peut l'utilité ?
-

UsagiYojimbo - WRInaute accro

- Messages: 8564
- Inscription: 23 Nov 2005
Re: Actualiser multiples div en ajax ?
Tu en aurais grave l'utilité car ça simplifierait énormément ton code, et c'est nettement plus pérenne que l'appel à l'ancien à l'objet XMLHttpRequest, et à son équivalent sur IE.
-

Leonick - WRInaute accro

- Messages: 19575
- Inscription: 8 Aoû 2004
Re: Actualiser multiples div en ajax ?
+1tryan a écrit:Crois tu vraiment qu'il soit nécessaire de se former à un framwork genre jquery alors que j'en aurais que très peut l'utilité ?
pourquoi vouloir charger un énorme fichier js quand on n'a besoin que d'une dizaine de ligne js ? d'un côté, tous les webmasters cherchent à réduire la taille de leurs pages et d'un autre côté, ils chargent des js de plus en plus gros.
-

UsagiYojimbo - WRInaute accro

- Messages: 8564
- Inscription: 23 Nov 2005
Re: Actualiser multiples div en ajax ?
Certes, mais en utilisant un framework js, on s'affranchit de pas mal de problème de compatibilité entre navigateurs.
Pour ta question tryan, plutôt que de boucler sur tes id, tu peux aussi comme je le disais plus haut affecter une classe identique à toutes les div que tu veux modifier, et utiliser https://developer.mozilla.org/fr/DOM/document.getElementsByClassName pour en récupérer la liste afin de la parcourir
Pour ta question tryan, plutôt que de boucler sur tes id, tu peux aussi comme je le disais plus haut affecter une classe identique à toutes les div que tu veux modifier, et utiliser https://developer.mozilla.org/fr/DOM/document.getElementsByClassName pour en récupérer la liste afin de la parcourir
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Re: Actualiser multiples div en ajax ?
Salut,
Bon, je teste et re-teste avec "document.getElementsByClassName" mais je suis toujours confronté au faite que mes div ne s'actualisent pas automatiquement. En gros, j'ai remplacé :
Par
Et changé mes "id" de mes "div" par des "class." Si j'ai une seule class, ça fonctionne, à partir de 2 ça ne marche plus!
En même temps comme je suis un peut une brèle dans le domaine, je fais sans doute n'importe quoi! Si tu as un exemple concret sous le coude, je suis preneur.
Juste pour bien me faire comprendre, voici 2 exemples de ce que je cherche à réaliser (système de sauvegarde des annonces par le biais des images sous forme d'étoile) :
-http://www.tesannonces.com/
-http://www.toutypasse.com/vehicules-c1
Bon, je teste et re-teste avec "document.getElementsByClassName" mais je suis toujours confronté au faite que mes div ne s'actualisent pas automatiquement. En gros, j'ai remplacé :
- Code: Tout sélectionner
document.getElementById('affiche')
Par
- Code: Tout sélectionner
document.getElementsByClassName('affiche')
Et changé mes "id" de mes "div" par des "class." Si j'ai une seule class, ça fonctionne, à partir de 2 ça ne marche plus!
En même temps comme je suis un peut une brèle dans le domaine, je fais sans doute n'importe quoi! Si tu as un exemple concret sous le coude, je suis preneur.
Juste pour bien me faire comprendre, voici 2 exemples de ce que je cherche à réaliser (système de sauvegarde des annonces par le biais des images sous forme d'étoile) :
-http://www.tesannonces.com/
-http://www.toutypasse.com/vehicules-c1
-

UsagiYojimbo - WRInaute accro

- Messages: 8564
- Inscription: 23 Nov 2005
Re: Actualiser multiples div en ajax ?
La doc (lien que je t'ai envoyé dit :
Si tu as plusieurs éléments qui possèdent cette classe, tu es donc face à un array qu'il va te falloir parcourir : http://community.invisionpower.com/topic/168975-javascript-foreach-equivalent/
- Code: Tout sélectionner
Renvoie un ensemble d'éléments portant le nom de classe donné
Si tu as plusieurs éléments qui possèdent cette classe, tu es donc face à un array qu'il va te falloir parcourir : http://community.invisionpower.com/topic/168975-javascript-foreach-equivalent/
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Re: Actualiser multiples div en ajax ?
Merci de tes réponses UsagiYojimbo mais je crains devoir en rester là
. Pour le moment ça dépasse mes limites et je teste comme un "con" sans comprendre ce que je fais et forcément je n'aboutis à rien.
Merci quand même pour l'orientation
.
Merci quand même pour l'orientation
-

UsagiYojimbo - WRInaute accro

- Messages: 8564
- Inscription: 23 Nov 2005
Re: Actualiser multiples div en ajax ?
Pas testé mais ça devrait le faire :
- Code: Tout sélectionner
//get list of div with affiche class
var a_div = document.getElementByClassName('affiche').innerHTML = xhr.responseText;
//associate ajax reponse with each of the affiche div
for ( item_div in a_div ) {
a_div[keyVar].innerHTML = xhr.responseText;
}
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Re: Actualiser multiples div en ajax ?
Tu est encore plus têtu que moi
!
Au cas ou je me serait planté :
Ensuite je fais une succession de 2 div :
Résultat :
Le contenu des div ne s'actualisent pas.
Pour mes testes -> -http://pole-annonces.com/test%20ajax/page1.php
Au cas ou je me serait planté :
- Code: Tout sélectionner
function ajax(page, fonction)
{
var xhr=null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("GET", "" + page + "?" + fonction + "", false);
xhr.send(null);
//document.getElementById('affiche' + '1').innerHTML = xhr.responseText;
//get list of div with affiche class
var a_div = document.getElementByClassName('affiche').innerHTML = xhr.responseText;
//associate ajax reponse with each of the affiche div
for ( item_div in a_div ) {
a_div[keyVar].innerHTML = xhr.responseText;
}
}
Ensuite je fais une succession de 2 div :
- Code: Tout sélectionner
<div class="affiche">mon code php voir précédent post</div>
<div class="affiche">mon code php voir précédent post</div>
Résultat :
Le contenu des div ne s'actualisent pas.
Pour mes testes -> -http://pole-annonces.com/test%20ajax/page1.php
-

UsagiYojimbo - WRInaute accro

- Messages: 8564
- Inscription: 23 Nov 2005
Re: Actualiser multiples div en ajax ?
Me suis raté dans mes copier-coller, et il y a une erreur dans l'intitulé de la fonction.
Remplace
par
Rassures-moi, tu bosses bien sur Firefox avec le plugin Firebug de manière à identifier tous les bugs JS et autres prises de têtes ?
Remplace
- Code: Tout sélectionner
var a_div = document.getElementByClassName('affiche').innerHTML = xhr.responseText;
par
- Code: Tout sélectionner
var a_div = document.getElementsByClassName('affiche');
Rassures-moi, tu bosses bien sur Firefox avec le plugin Firebug de manière à identifier tous les bugs JS et autres prises de têtes ?
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Re: Actualiser multiples div en ajax ?
J'ai remplacé et ça ne change rien. De plus, je ne vais pas te rassurer ... je n'utilise pas Firebug
mais je viens de l'installer.
keyVar is not defined
ajax(page="page2.php", fonction="id=25")page1.php (ligne 23)
javascript:ajax('page2.php',%20'id=25');()javasc...d=25'); (ligne 1)
[Stopper sur une erreur] a_div[keyVar].innerHTML = xhr.responseText;
24 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Référencer un site en AJAX[Questions et Problèmes multiples]
- Actualiser ses pages
- Actualiser une DIV
- Fermer et actualiser au même temps
- PHP->Actualiser une page
- Actualiser un champ dans d'une table
- Compteur temp réel sans actualiser
- [AJAX] Validation de form en ajax : captcha non reconnu
- comment actualiser la page en php à chaque seconde
- Actualiser une page si champ select modifié
Consultez la description détaillée des produits ou services de Google suivants : Google Web Toolkit
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
