Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2011, 15h00   #1
Invité de passage
 
Inscription : mai 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 11
Points : 1
Points : 1
Par défaut Rafraichir une div

Bonjour,

Voilà j'ai une messagerie instantanée lié avec une base mysql et je souhaite y intégrer du script Jquery que je découvre a peine.

Voilà j'ai une première page Chat.php avec un div (update) qui appelle mon code php chatbis.php pour vérifier à qui on parle et si une conversation à bien commencé ou pas.

A aujourd'hui j'ai un script sur ma page chat.php qui est celui-ci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
function update()
{
$.post("chatbis2.php", {}, function(data){ $("#nvxmessage").val(data); $("#current_userid").val(data);}); 
 
    setTimeout('update()', 1000);
}
jQuery(document).ready(function()
    {
 
	 update();
	});
cela me permet quand on valide le formulaire de partir sur ma page chatbis.php et de vérifier si une conversation existe et si elle existe de retranscrire la conversation dans une textarea.
Jusque là ça marche.
La seule chose s'est que si quelqu'un répond tant que je n'ai pas cliquez sur le bouton il me le met pas donc je cherche une fonction qui m'actualise ma div toutes les 5 secondes.
Merci de votre aide

Mathieu
matsay81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 09h53   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Ceci serait plus approprié :
Code javascript :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function update()
{
  $.post("chatbis2.php", {}, function(data){ 
      $("#nvxmessage").val(data); 
      $("#current_userid").val(data);
      setTimeout('update()', 5000); // Rappel de la fonction update dans 5s
  }); 
 
 
}
jQuery(document).ready(function()
{
    update(); // lancement des cycles d'update
});
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 09h44   #3
Invité de passage
 
Inscription : mai 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 11
Points : 1
Points : 1
Par défaut Re

A part le temps je ne vois pas trop ce qui change ! mais je ne sais toujours pas comment je peux rafraichir ma div toute les 5 secondes puisque rien ne l'appelle !
Personne ne peux m'aider ?
matsay81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h09   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
La fonction update() est appelée lorsque le chargement du document est fini.
Le rafraichissement de la div est à rappeler lorsqu'une réponse de la requête asynchrone a été reçue, car sinon tu vas tomber sur des cas où la fonction update est appelée alors que le précédent rafraichissement n'a pas eu lieu.
C'est le principe de l'asynchrone, et cela fait que tu peux recevoir une donnée n-1 après une donnée n+1.

Après, ce code fonctionne parfaitement de mon côté. Donc s'il ne fonctionne pas chez toi il faudrait peut être remettre en question le traitement PHP, ou bien les containers vers lesquels tu envoies les données. (ou bien un traitement annexe qui affecte ces containers)
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h52.


 
 
 
 
Partenaires

Hébergement Web