|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 664 ![]() |
Bonjour,
Voici mon problème. Je dispose d'une page avec une table dans laquelle j'affiche un nombre aléatoire. Je voudrais faire en sorte que la cellule dans laquelle est affiché ce nombre se recharge toutes les secondes. Ne connaissant pas Ajax pour le moment, je ne sais pas du tout comment faire ça. Voici mon code pour l'instant: Code :
A+ |
||
|
|
00
|
|
|
#2 |
![]() ![]() Benjamin PREVOTArchitecte de système d'information Inscription : septembre 2004 Messages : 1 568 ![]() |
Bonjour,
Tu peux utiliser la fonction setInterval : http://javascript.developpez.com/faq...e=date#Horloge Bon développement
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN F.A.Q. : Java, PHP, (X)HTML / CSS N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 664 ![]() |
Yeeees, merci beaucoup Nesmontou !!
Ça marche bien comme je veux !!!! (et dire que mon problème se trouvait seulement là !!! )
|
|
|
00
|
|
|
#4 | ||
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 664 ![]() |
J'crois que j'ai parlé un peu trop vite en fait. Le comportement est vraiment bizarre au bout de quelques secondes. Une partie de la page est "doublée".
Cette page est une page de test (je découvre Ajax) mais lorsque je la met dans ma "vraie" page, le rafraichissement ne se fait plus. Voici mon code, si quelqu'un pouvait m'expliquer ce qui se passe, ce serait sympa. Code :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Code :
document.getElementById("test_refresh",true)
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 664 ![]() |
Ben je t'avouerai que je sais pas trop Bovino. C'est un code que j'ai récupéré à la base sur le net. C'est peut-être ça qui fait que cela fait n'importe quoi. Je vais essayer ce soir.
Merci |
|
|
00
|
|
|
#7 |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 126 ![]() |
Bonsoir,
+1 Bovino Utilise un setTimeout à la place de setInterval. Fait un recherche, il y a plusieurs discussion résolue A+. |
|
|
00
|
|
|
#8 | ||
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 664 ![]() |
Bonjour à tous
D'abord merci pour vos conseils. Je procède par petites touches. Voici ce que donne mon code. J'ai viré le true, et remplacé setInterval par setTimeout. Ca marche pas mal. Code :
- Pourquoi le texte "ceci est une première phrase / ceci est une seconde phrase" est il affiché 2 fois ?? - La rafraichissement de ma cellule ne marche pas sous IE. Pourquoi ?? Aime, j'ai déjà cherché mais j'ai pas trouvé. Peut être mal cherché... |
||
|
|
00
|
|
|
#9 |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 126 ![]() |
Bonsoir,
Déclare xhr en variable globale ou passe le en paramètre de la fonction ajaxReponse(). A+. |
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 664 ![]() |
Merci Aimé pour ta réponse.
Est-ce que tu peux juste m'expliquer le but de cette manip' ? Merci |
|
|
00
|
|
|
#11 | ||
|
Membre du Club
![]() Inscription : mars 2011 Messages : 47 ![]() |
Salut,
Le fait de ne pas mettre le mot clef var rend xhr global. Donc ça fonctionne. Le soucis sur IE est certainement dû au fait qu'il charge les pages depuis le cache et donc que le chiffre ne change pas. Pour éviter ça, il faut ajouter une astuce "anti-cache" : Code :
xhr.open('GET',URL+"?anticache="+new Date().getTime(),true); Code :
|
||
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 664 ![]() |
Aaaah super merci Billy KiT. Je vais regarder ce que ta solution donne.
![]() Alors par contre, je suis complètement novice avec Ajax, je dois dire. Ma page test.php, c'est la page dont j'ai fourni le code (oui, tout ça. Du coup, je vois mieux d'ou vient mon erreur). Du coup, pour que les choses soient vraiment claires dans mon esprit, que dois-je mettre dans ma variable URL ? Merci encore |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : mars 2011 Messages : 47 ![]() |
Je crois que tu as brûlé beaucoup d'étapes !
C'est pas très bon.Si ta page s'appelle test.php, tu dois créer un autre fichier test2.php qui contient seulement le code comme noté dans le précédent message. Donc : URL = "test2.php" si dans le même répertoire. Il faut quand même absolument revoir les principes fondamentaux de AJAX avec les tutos |
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 664 ![]() |
Merci beaucoup Billy KiT. Tout marche nickel !!
Je m'en vais de ce pas lire quelques tutos ... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com