Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lier 2 fonctions javascripts

    6 juillet 2011 à 15:54:19

    Bonjour à tous,

    Voila mon pb, j'utilise 2 fonctions javascript pour faire des injections dans ma base.

    Voici le code :

    function likeNew(id, id2, id3, id4, id5, id6)
    		{
    		getXhr()
    		xhr.onreadystatechange = function()
    			{
                           if(xhr.readyState == 1){
                           document.getElementById(id, id2, id3, id4, id5, id6).className = 'action-likeNew-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).className = 'action-likeNew-ok nocursor';
                             document.getElementById(id, id2, id3, id4, id5, id6).onclick = '';
    			 }
    			}
    		xhr.open("GET","../inc/addthis.php5?EAN="+id2+"&ASIN="+id3+"&IdTRack="+id4+"&type="+id5+"&action="+id6+"",true);
                    xhr.send(null);
    }
    
    
    
    
    function stoplikeNew(id, id2, id3, id4, id5, id6)
    		{
    		getXhr()
    		xhr.onreadystatechange = function()
    			{
                           if(xhr.readyState == 1){
                           document.getElementById(id, id2, id3, id4, id5, id6).className = 'action-likeNew-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).className = 'action-likeNew nocursor';
                             document.getElementById(id, id2, id3, id4, id5, id6).onclick = '';
    			 }
    			}
    		xhr.open("GET","../inc/addthis.php5?EAN="+id2+"&ASIN="+id3+"&IdTRack="+id4+"&type="+id5+"&action="+id6+"",true);
                    xhr.send(null);
    }
    



    Mon code HTML :
    <div id="stoplikeNew3760068970819" onclick="stoplikeNew('stoplikeNew3760068970819', '3760068970819', 'B002UQ9UFS', ' ', '1', 'stoplike')" class="action-likeNew-ok">Je n'aime plus</div>
    
    <div id="likeNew3760068970819" onclick="likeNew('likeNew3760068970819', '3760068970819', 'B002UQ9UFS', ' ', '1', 'like')" class="action-likeNew-ok">J'aime</div>
    


    Ce que j'aimerai faire c'est que lorsqu'un membre clique sur j'aime, la fonction stoplikeNew remplace la fonction likeNew, comme ça, il peut directement avoir accès au "Je n'aime pas".

    Avez vous une idée ?

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      7 juillet 2011 à 13:28:25

      En modifiant l'attribut onclick de ta <div> ?
      • Partager sur Facebook
      • Partager sur Twitter
        7 juillet 2011 à 22:12:34

        j'ai tenté un truc du genre :

        function likeNew(id, id2, id3, id4, id5, id6)
        		{
        		getXhr()
        		xhr.onreadystatechange = function()
        			{
                               if(xhr.readyState == 1){
                               document.getElementById(id, id2, id3, id4, id5, id6).className = 'action-likeNew-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).className = 'action-likeNew-ok nocursor';
                                 document.getElementById(id, id2, id3, id4, id5, id6).onclick = stoplikeNew(id, id2, id3, id4, id5, id6);
        			 }
        			}
        		xhr.open("GET","../inc/addthis.php5?EAN="+id2+"&ASIN="+id3+"&IdTRack="+id4+"&type="+id5+"&action="+id6+"",true);
                        xhr.send(null);
        }
        


        mais ça il n'aime pas !
        • Partager sur Facebook
        • Partager sur Twitter
          11 juillet 2011 à 14:17:52

          Il faut utiliser une fonction anonyme :


          document.getElementById(id).onclick = function() { stoplikeNew(id,id1,...); };
          


          Et vire ces multiples paramètres de document.getElementById, ça marche pas (une petite boucle fera très bien l'affaire ;) )
          • Partager sur Facebook
          • Partager sur Twitter

          Lier 2 fonctions javascripts

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown