IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Retourner un nom de fonction


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [AJAX] Retourner un nom de fonction
    Bonjour à tous !

    Je découvre petit à petit "Prototype" et je bug sur un truc.

    J'ai un ajax updater sur la page "index" qui appelle une page toutes les secondes ( chat_connectes ).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    function someone_on_chat(){
        new Ajax.Updater( 'div_averti', 'content/includes/chat_connectes.php', {
          onSuccess: function() { setTimeout( someone_on_chat, 1000 ); }
        } );
      }
      someone_on_chat();
     
    function fonction2(){
      alert('Bonjour');
    }
     
    function fonction3(){
      alert('Au revoir');
    }
    Je n'arrive pas à capter comment faire pour que : si la page appellée ( chat_connectes ) contient "2", elle lance une fonction2 en js ( sur index ) et si elle contient "3", elle lance une fonction3 en js ( toujours sur index).

    J'ai du mal sur le renvoi de variables d'une page appelée vers la page appelante avec ajax.

    Avez-vous une idée, ou suis-je obligé de matter des tutos sur JSON ??

    Merci de m'avoir lu.
    Dernière modification par Invité ; 08/06/2012 à 12h01.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bon j'ai trouvé comment faire.

    Je poste la soluc' pour ceux qui auraient un problème similaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    function someone_on_chat(){
      new Ajax.Updater( '', 'content/chat_connectes.php', {
        onSuccess: function(transport) {         
          if(transport.responseText==1){
            document.getElementById("div_averti").innerHTML = "<p id=\"averti\" style=\"margin-top: 8px;\"><b>Quelqu'un vient de poster un message sur le chat !</b></p>"; 
            fonction2();
          }else{
            setTimeout( someone_on_chat, 1000 );
          }
        } 
      } );
    }
     
    function fonction2(){
      document.getElementById("div_averti").style.display = "block";    
     
      if(cligno... {
      // fonction clignoteur();
      }else{
        div_averti.style.display = "none";
        compteur = 0;
        setTimeout( someone_on_chat, 1000 );
      }
    }
    setTimeout( someone_on_chat, 1000 );
    En gros, je vérifie si le fichier texte qui contient les messages du tchat a changer de taille avec la page "chat_connectes". ( toutes les secondes )
    Si elle me renvoie "1", je saute à la fonction2().
    Quand la fonction2() est terminée, je réinitialise les compteurs, etc... et je relance la fonction principale someone_on_chat() !

    Je ne sais pas si c'est possible de faire plus propre ? Un avis ?
    Merci

    A++

Discussions similaires

  1. Nom de Fonction ou Sub retournée par le debugger
    Par andrebernard dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/08/2011, 14h39
  2. Réponses: 3
    Dernier message: 08/08/2010, 23h12
  3. Réponses: 7
    Dernier message: 03/12/2004, 12h40
  4. Evaluation d'un nom de fonction
    Par uaz dans le forum Général Python
    Réponses: 1
    Dernier message: 04/08/2004, 11h16
  5. Declaration de fonction retournant un pointeur sur fonction
    Par pseudokifaitladifférence dans le forum C
    Réponses: 5
    Dernier message: 11/08/2003, 19h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo