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

JavaScript Discussion :

[AJAX] Rappel fonction ajax


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut [AJAX] Rappel fonction ajax
    Bonjour.

    J'ai une fonction ajax que j'appel pour afficher un texte au clique sur un lien.

    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
    function FuncAjax(div, page, data)
    {
        if(document.all) 
        { 
            var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else 
        { 
            var XhrObj = new XMLHttpRequest();
        }
     
        var content = document.getElementById(div); 
     
        XhrObj.open("POST", page); 
     
        XhrObj.onreadystatechange = function() 
        { 
            if (XhrObj.readyState == 4 && XhrObj.status == 200) 
                content.innerHTML = XhrObj.responseText ; 
        }        
      	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
        XhrObj.send(data);
    }
    Je voudrais qu'en recliquant sur ce lien, le texte disparaisse et ainsi de suite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A href="#" id="lien" class="niveau_2" onClick="FuncAjax('ajax', 'liste_categories.php', 'flag=1');changeflag();">lien</A>
    Pour cela j'ai une variable a 0 ou a 1 que je modifie a chaque clique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function changeflag()
    {
    	if (flag == 1)
    	{
    		document.getElementById("lien").onClick = "FuncAjax('ajax', 'liste_categories.php', 'flag=0');changeflag();";
    		flag = 0;
    	}
    	if (flag == 0)
    	{
    		document.getElementById("lien").onClick = "FuncAjax('ajax', 'liste_categories.php', 'flag=1');changeflag();";
    		flag = 1;
    	}
    }
    Le texte s'affiche bien au premier clique, mais ne disparait pas au second. Je n'ai aucune erreur JS d'afficher.

    Quelqu'un à une idée ? Merci

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("lien").onclick
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut
    Idem.

    Il a pas l'air d'aimer le fait que je change le contenu de onclick, puisqu'il ne me fait plus rien ensuite.

    Il n'appel plus la fonction.

    EDIT : Bon finalement je vais passer par des variables de sessions, ca sera bien plus simple.

    Merci

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function changeflag() {  if (flag == 1)  {  document.getElementById("lien").onClick = "FuncAjax('ajax', 'liste_categories.php', 'flag=0');changeflag();"; flag = 0; }  
    if (flag == 0)  {  document.getElementById("lien").onClick = "FuncAjax('ajax', 'liste_categories.php', 'flag=1');changeflag();"; flag = 1; } }
    Un petit "else" aurait été le bienvenu, parce que là, il t'éxécute les 2 cas à la suite (quand tu entres avec "flag == 1").


    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Envoi ou non d'un formulaire avec une fonction AJAX
    Par ohhh.gringo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/05/2007, 11h47
  2. [AJAX] aide sur fonction ajax navigation
    Par speedylol dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/11/2006, 14h17
  3. [AJAX] Une fonction pour poster un formulaire?
    Par Mysti¢ dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/09/2006, 18h28
  4. [AJAX] ajax et fonction javascript
    Par locs dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/08/2006, 16h56
  5. [AJAX] Ma fonction ne se termine pas...
    Par Davboc dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 08/03/2006, 12h05

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