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] Treeview en ajax


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Par défaut [AJAX] Treeview en ajax
    J'ai un problème dans ce script en ajax php.
    Mon besoin est de faire l'update d'un treeview,
    en rafraichissant seulement le treeview et non pas toute la page (sans utilisé window.onload).
    y-a-t-il une autre possibilité de le faire.
    Mon code est le suivant :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    function getXMLHTTP()
    {
        var xhr=null;
     
        if (window.XMLHttpRequest) // Firefox et autres.
             xhr = new XMLHttpRequest();
        else if (window.ActiveXObject) // Internet Explorer.
        {
             try
             {
                 xhr = new ActiveXObject("Msxml2.XMLHTTP");
             }
             catch (e)
             {
                    try
                    {
                           xhr = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch (e1)
                    {
                         xhr = null;
                    }
             }
         }
         else
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
       return xhr;
    }
     
    // Div refresh.
    ////////////////////////
     
    function getDiv1(MyDiv, MyUrl) { 
     
    var xmlhttp1 = null;  
     
            var mondiv1 = document.getElementById(MyDiv); 
     
            if (!mondiv1) { 
                      return 1; 
              } 
     
        if (xmlhttp1 && xmlhttp1.readyState != 0) { 
            xmlhttp1.abort(); 
            } 
     
            xmlhttp1 = getXMLHTTP(); 
     
        if (xmlhttp1) { 
     
                    xmlhttp1.open("GET", MyUrl, true);  
     
                 /* on définit ce qui doit se passer quand la page répondra */ 
     
                  xmlhttp1.onreadystatechange = function() { 
     
                          if (xmlhttp1.readyState == 4 && xmlhttp1.responseText != '') /* 4 : état "complete" */ { 
     
                            if(mondiv1.innerHTML != xmlhttp1.responseText)
                            {
                                  mondiv1.innerHTML = xmlhttp1.responseText;
                            }
     
                          }
                    } 
     
                  xmlhttp1.send(null); 
         } 
    }
     
    function rafraichir()
    {                
      getDiv1('div_ajax', 'divajax.php');
      setTimeout("rafraichir()", 10000);
    }
    window.onload = function() { rafraichir();}
    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,
    y-a-t-il une autre possibilité de le faire.
    Ajax est fait pour cela: mettre à jour une partie de la page côté client (au sens d'exécuter des traitements) en fonction de données obtenues par un appel d'une url. Etant donnée ta problématique je crois que cela colle parfaitement


    Concernant ton script il serait peut-être préférable de déclencher ton setTimeout au retour de l'appel Ajax.

    ERE

Discussions similaires

  1. [STRUTS][AJAX]Quel framework AJAX avec Struts
    Par woodwai dans le forum Struts 1
    Réponses: 24
    Dernier message: 12/03/2009, 16h19
  2. treeview en ajax
    Par tortuegenie dans le forum ASP.NET
    Réponses: 3
    Dernier message: 18/04/2008, 14h39
  3. [AJAX] PHP avec ajax(makerequest)
    Par Benjiijneb dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 11/04/2006, 16h53
  4. [AJAX] texte réponse Ajax dans un conteneur div
    Par grinder59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/02/2006, 18h07
  5. [AJAX] Autocomplétion + méthode Ajax
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/10/2005, 16h24

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