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 :

Afficher un DIV apres une action ajax


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Afficher un DIV apres une action ajax
    Bonjour,

    Je pense que c'est tout simple mais je n'arrive pas trouver la solution.

    J'ai 2 divs l'un en dessous de l'autre.
    1 est caché, et l'autre est visible.
    J'aimerai qu'au onClick du premier, le div se cache et l'autre div invisible s'affiche.

    Voici les divs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id="like" onClick="like()" class="action-like"></div>
    <div id="likeok" class="action-ok" style="display:none"></div>
    Mon code javascript :

    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
    function like()
    		{
    		getXhr()
    		xhr.onreadystatechange = function()
    			{
                          if(xhr.readyState == 1){
                           document.getElementById().className = 'action-like-load';
                           document.getElementById().onclick = '';
                            }
    			 if(xhr.readyState == 4 && xhr.status == 200)
    			 {
    			 document.getElementById().innerHTML=xhr.responseText;
                             document.getElementById().className = 'action-like-ok nocursor';
                             document.getElementById).onclick = '';
    			 }
    			}
    		xhr.open("GET","action.php5",true);
                    xhr.send(null);
    }
    Un avis ?

    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par vince62fr
    Un avis ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById().innerHTML=xhr.responseText;
    A quel id tu fais référence ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    En fait j'avais simplifié mon code pour que ça soit plus lisible mais je me rend compte que j'en ai oublié une partie voila le bon :

    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 like(id, id2, id3, id4, id5, id6)
    		{
    		getXhr()
    		xhr.onreadystatechange = function()
    			{
                          if(xhr.readyState == 1){
                           document.getElementById(id, id2, id3, id4, id5, id6).className = 'action-like-load';
                           document.getElementById(id, id2, id3, id4, id5, id6).onclick = '';
                            }
    			 if(xhr.readyState == 4 && xhr.status == 200)
    			 {
    			 document.getElementById(id, id2, id3, id4, id5, id6).innerHTML=xhr.responseText;
                             document.getElementById(id, id2, id3, id4, id5, id6).className = 'action-like-ok nocursor';
                             document.getElementById(id, id2, id3, id4, id5, id6).onclick = '';
    			 }
    			}
    		xhr.open("GET","action.php5?EAN="+id2+"&ID2="+id3+"&IdTRack="+id4+"&type="+id5+"&action="+id6+"",true);
                    xhr.send(null);
    }
     
     
     
    <div id="like1" onClick="like(<?php echo "'like1"', '".$EAN."', '".$id."', '".$addthisIdTrack."', '".$existTrack."', 'like'";?>)" class="action-like"></div>

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonsoir,
    la méthode getElementById n'admet qu'un seul paramètre et non une multitude, tu sera donc obligé de faire une boucle
    exemple :
    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
    <html>
    <head>
    </head>
    <body>
    <div id="id1"></div>
    <div id="id2"></div>
    <div id="id3"></div>
    <script type="text/javascript">
    function afficheText(){
      var i, oElem;
      for( i = 0; i < arguments.length; i++){
        oElem = document.getElementById( arguments[i]);
        oElem.innerHTML = arguments[i];
      }
    }
    afficheText ('id1', 'id2', 'id3');
    </script>
    </body>
    </html>

Discussions similaires

  1. [1.x] Rafraichir une div après une requête ajax
    Par phpestpuissant dans le forum Symfony
    Réponses: 2
    Dernier message: 02/10/2012, 09h25
  2. Afficher / cacher un div => Exécuter une action
    Par pc75 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/04/2010, 16h35
  3. Réponses: 3
    Dernier message: 05/07/2008, 19h09
  4. afficher un div dans une posituin precise
    Par H-bil dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/10/2006, 11h56
  5. Afficher un fond sur une action bouton
    Par lordenzo dans le forum Flash
    Réponses: 6
    Dernier message: 31/03/2006, 12h47

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