Partage
  • Partager sur Facebook
  • Partager sur Twitter

Desactiver le clique apres selection

    28 janvier 2011 à 10:35:07

    Bonjour,

    J'aimerais que si quelq'un clique sur une icone (favoris) la page se rafraichissait en Ajax et l'utilisateur ne peut pas cliquer une 2eme fois, voila mon code:

    code JS:
    <script type="text/javascript">
    function ajax(page,divAMettreAJour){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById(divAMettreAJour).innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET",page,true);
    xmlhttp.send();
    }
    </script>
    


    code php:
    <?php
    		
    		mysql_select_db($db_general) or die ('Erreur de selection de la BD Statistics: '.mysql_error());
    		
    		// on doit verifier si cette video est deja aux favoris de cet utilisateur
    		mysql_select_db($db_general) or die ('Erreur de selection de la BD general: '.mysql_error());
    		$selectipe = 'SELECT ip FROM favorits WHERE ip = "'.$ip_visiteur.'" AND id_cl = "'.$menu.'"';
    		$queryipe = mysql_query($selectipe) OR DIE ('Unable to select comment IPs '.mysql_error());
    		$totalipe = mysql_fetch_array($queryipe);
    		if ($totalipe)
    		{
    			echo 'this video is on your favorits';
    		}
    		else
    		{
    			$sqlf = 'SELECT count(*) FROM favorits WHERE id_cl= "'.$menu.'"';
        	//echo $sqlt;  
        	$reqf = mysql_query($sqlf) or die('Erreur SQL !<br />'.mysql_error());  
        	$dataf = mysql_fetch_array($reqf);  
    
    echo '<img src="'.$path2icons.'coeur.png" onclick="ajax(\'action.php?do=fav&menu='.$menu.'&idm='.$idm.'\', \'fav1\')" class="Img01" align="absmiddle" title="add fav" alt="add fav" /></a>';
    //echo '<span id="fav1">'.$dataf[0].'</span>';			
    		}
    ?>
    


    action.php:
    <?php
    $idfav = $_GET['idfav'];
    $idcat = '4'; // Mariyat
    $id_cl = $_GET['menu'];
    $idpseudo = $_GET['idm'];
    
    mysql_select_db($db_general) or die ('Erreur de selection de la BD general: '.mysql_error());
    //$update = 'UPDATE comments SET '.$th.' = "'.$increment.'" WHERE idc = "'.$idc.'"';
    
    	$updatef = 'INSERT INTO favorits VALUES ("", "'.$idcat.'", "'.$id_cl.'", "'.$idpseudo.'", "'.$ip_visiteur.'", "'.$MakkaDateTime.'")';
    	//echo $updatef.'<br>';
    
    	$queryf = mysql_query($updatef) OR DIE (mysql_error());
    
    $selectf = 'SELECT count(*) FROM favorits WHERE id_cl= "'.$id_cl.'"';
    //echo $selectf.'<br>';
    $resultf = mysql_query ($selectf) or die ('Erreur de selection de commentaires: ' .mysql_error());
    $datafs = mysql_fetch_array($resultf);
    //echo $datafs[0];
    echo 'this video was added succesfully';  
    ?>
    


    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      29 janvier 2011 à 9:58:22

      Hello,

      il te suffit d'ajouter cette action dans ton script, au moment où tu veux qu'elle soit exécutée:

      var bouton_a_desactiver = document.getElementById("bouton_a_desactiver");
      bouton_a_desactiver.disabled = true;
      


      Et bien sûr il faut mettre un ID à ton bouton:

      <input type="button" id="bouton_a_desactiver" value="Bouton qui va être désactivé..." />
      
      • Partager sur Facebook
      • Partager sur Twitter
        29 janvier 2011 à 17:14:48

        Et comment le faire en cas de lien, je veux que le lien ne soit pas cliquable
        • Partager sur Facebook
        • Partager sur Twitter
          29 janvier 2011 à 20:10:54

          Citation : Emmilly007

          Et comment le faire en cas de lien, je veux que le lien ne soit pas cliquable



          Tu veux que ton lien soit cliquable, puis non cliquable après exécution de ton code js?

          Dans ce cas tu peux utiliser removeAttribute:

          var a_elem = document.getElementById("mon_lien");
              a_elem.removeAttribute("href");
          

          <a href="#tagada" id="mon_lien">Ce lien perdra son attribut href après exécution de la fonction...</a>
          
          • Partager sur Facebook
          • Partager sur Twitter
            29 janvier 2011 à 20:58:23

            desole cstef, j'ajoute 2 autres questions:

            + Ou placer le code JS,
            + Et pour les images cliquable.

            Merci
            • Partager sur Facebook
            • Partager sur Twitter
              29 janvier 2011 à 21:15:39

              Citation : Emmilly007

              + Ou placer le code JS



              A l'endroit où tu veux que ça s'exécute... J'imagine à ce moment là:

              if (xmlhttp.readyState==4 && xmlhttp.status==200) {
              
                  document.getElementById(divAMettreAJour).innerHTML=xmlhttp.responseText;
                  var a_elem = document.getElementById("mon_lien");
                  a_elem.removeAttribute("href");
              
              }
              



              Citation : Emmilly007

              + Et pour les images cliquable.



              Pour faire un lien sur une image en html:
              <a href="#"><img src="chemin_image" /></a>
              
              • Partager sur Facebook
              • Partager sur Twitter
                29 janvier 2011 à 21:26:30

                Je l'ai fait avec <img src="" onclick...>, alors comment integrer le code dans ce sens
                • Partager sur Facebook
                • Partager sur Twitter
                  30 janvier 2011 à 4:25:39

                  Déplace le onclick dans le a:


                  <a id="mon_lien" href="#" onclick="fonction()"><img src="icone.png" /></a>
                  


                  Et aussi dans la partie js, si tu utilises removeAttribute, fais le sur le onclick (sur le href ça n'empêchera pas ta fonction de s'exécuter):

                  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                  
                      document.getElementById(divAMettreAJour).innerHTML=xmlhttp.responseText;
                      var a_elem = document.getElementById("mon_lien");
                      a_elem.removeAttribute("onclick");
                  
                  }
                  

                  • Partager sur Facebook
                  • Partager sur Twitter
                    31 janvier 2011 à 12:42:27

                    ca marche pas, juste une clarification, est ce le code JS je le mets sur page.php ou bien sur la page ou ils s'affichent les commentaires, j'ai 2 pages:

                    comments.php: affichage des commentaires et le vote pour chaque commentaire,
                    page.php: la ou je fais appel au code d'insetion des votes,
                    ajax.js: le JS qui est insere au comments.php
                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 janvier 2011 à 13:07:56

                      C'est dans la page où est utilisé ton code qu'il faut bien sûr placer le code. Soit directement dans le document, soit par un appel au fichier contenant le code...

                      Code directement dans le document
                      <html>
                          <head>
                              <script type="text/javascript"">
                                  // Ici ton code javascript...
                              </script>
                          </head>
                          <body>
                              <!-- Corps du document... -->
                          </body>
                      </html>
                      


                      Code dans un autre fichier
                      <html>
                          <head>
                              <script type="text/javascript" src="nom_du_fichier.js"></script>
                          </head>
                          <body>
                              <!-- Corps du document... -->
                          </body>
                      </html>
                      
                      • Partager sur Facebook
                      • Partager sur Twitter
                        31 janvier 2011 à 13:13:18

                        Je fais appel a page.php a partir de comments.php, le code js est inclu au comments.php
                        • Partager sur Facebook
                        • Partager sur Twitter
                          31 janvier 2011 à 13:16:32

                          Arf, j'ai un peu de mal à me rprésenter comment tu fais interagir tout ça...

                          Peux-tu me poster le code de ces 3 fichiers stp? Comme ça j'y verrais plus clair, merci :)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            31 janvier 2011 à 13:33:30

                            comments.php:
                            <head>
                            <script type="text/javascript">
                            function ajax(page,divAMettreAJour){
                            if (window.XMLHttpRequest)
                              {// code for IE7+, Firefox, Chrome, Opera, Safari
                              xmlhttp=new XMLHttpRequest();
                              }
                            else
                              {// code for IE6, IE5
                              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                              }
                            
                            xmlhttp.onreadystatechange=function()
                              {
                              if (xmlhttp.readyState==4 && xmlhttp.status==200)
                                {
                                document.getElementById(divAMettreAJour).innerHTML=xmlhttp.responseText;
                            	 var a_elem = document.getElementById("mon_lien");
                                a_elem.removeAttribute("onclick");
                            
                            
                                }
                              }
                            xmlhttp.open("GET",page,true);
                            xmlhttp.send();
                            }
                            </script>
                            
                            </head>
                            <body>
                            <?php
                            echo '[ <a id="mon_lien" href="#" onclick="fonction()"><img src="'.$path2icons.'thumbs_up.png" style="cursor:pointer" align="absmiddle" onclick="ajax(\'page.php?thumbs=up&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'up'.$idcom.'\')" class="Img02" title="Aimer"></a><font color="#00FF00"><span id="up'.$idcom.'"> '.$datau[0].' </span></font> ]';
                            ?>
                            


                            page.php:
                            <body>
                            <?php
                            $idcom = $_GET['idcom'];
                            $idpseudo = $_GET['idm'];
                            $thumbs = $_GET['thumbs'];
                            
                            mysql_select_db($db_general) or die ('Erreur de selection de la BD general: '.mysql_error());
                            //$update = 'UPDATE comments SET '.$th.' = "'.$increment.'" WHERE idc = "'.$idc.'"';
                            
                            if ($thumbs == 'up')
                            {
                            	$updateu = 'INSERT INTO thumbs VALUES ("", "'.$idcom.'", "'.$idpseudo.'", "1", "0","'.$ip_visiteur.'", "'.$MakkaDateTime.'")';
                            	//echo $updateu.'<br>';
                            $queryu = mysql_query($updateu) OR DIE (mysql_error());
                            
                            $selects = 'SELECT count(thumbsu) FROM thumbs WHERE idcom= "'.$idcom.'" AND thumbsu !="0"';
                            }
                            
                            
                            if ($thumbs == 'down')
                            {
                            	$updated = 'INSERT INTO thumbs VALUES ("", "'.$idcom.'", "'.$idpseudo.'", "0", "1","'.$ip_visiteur.'", "'.$MakkaDateTime.'")';
                            	//echo $updated.'<br>';
                            	$queryd = mysql_query($updated) OR DIE (mysql_error());
                            	
                            	$selects = 'SELECT count(thumbsd) FROM thumbs WHERE idcom= "'.$idcom.'" AND thumbsd !="0"';
                            	
                            }
                            
                            echo '<span id="displayhere"></span>';
                            
                            $results = mysql_query ($selects) or die ('Erreur de thumbsdown: ' .mysql_error());
                            $datas = mysql_fetch_array($results);
                            echo $datas[0];
                            ?>
                            
                            • Partager sur Facebook
                            • Partager sur Twitter
                              31 janvier 2011 à 14:31:28

                              Effectivement le code js est bien placé... C'est déjà ça!

                              Maintenant la manière dont tu déclenches ta fonction a besoin d'être nettoyé.

                              Tu appelles une fonction "fonction()" dans ta balise a, ce qui ne sert à rien visiblement.

                              Il vaut mieux faire ainsi:


                              <?php
                              echo '[ <a id="mon_lien" href="#" onclick="ajax(\'page.php?thumbs=up&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'up'.$idcom.'\')"><img src="'.$path2icons.'thumbs_up.png" style="cursor:pointer" align="absmiddle" class="Img02" title="Aimer" /></a><font color="#00FF00"><span id="up'.$idcom.'"> '.$datau[0].' </span></font> ]';
                              ?>
                              
                              • Partager sur Facebook
                              • Partager sur Twitter
                                31 janvier 2011 à 18:33:55

                                Merci pour votre aide, je vais l'essayer sur le boutton:

                                Le boutton ne se desactive pas, j'ai utilise les meme code en dessus:

                                echo '<input type="button" id="bouton_a_desactiver" value="Bouton..." onclick="ajax(\'page.php?thumbs=up&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'up'.$idcom.'\')" />';
                                			echo '<span id="up'.$idcom.'"> '.$datau[0].' </span>';
                                


                                js:
                                var bouton_a_desactiver = document.getElementById("bouton_a_desactiver");
                                		bouton_a_desactiver.disabled = true;
                                
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  31 janvier 2011 à 21:59:18

                                  Exécute ton script dans Firefox en ayant ouvert la console d'erreurs (Ctrl + Maj + J (ou sinon: menu Outils > Console d'erreurs)), et dis-moi quels sont les messages d'erreurs de la console en rapport avec ton code, stp.

                                  Essaie le code ci-dessous, tu verras que la fonction de désactivation d'un bouton fonctionne très bien... Donc difficile de te dire pourquoi ça ne fonctionne pas chez toi, d'où l'intérêt d'avoir les messages de la console d'erreurs.

                                  Sélectionne et copie le code ci-dessous, puis colle dans un fchier que tu enregistres sous le nom test_disable.html, puis ouvre ce fichier avec un navigateur:
                                  <!DOCTYPE html>
                                  <html lang="fr">
                                  
                                  	<head>
                                  		<meta charset="utf-8" />
                                  		<script type="text/javascript">
                                  		function disabl() {
                                  			
                                  			var but = document.getElementById("but");
                                  			but.disabled = true;
                                  			
                                  		}
                                  		</script>
                                  		<title>Test disabled</title>
                                  	</head>
                                  
                                  	<body>
                                  		<p><input id="but" type="button" onclick="disabl()" value="Disable" /></p>
                                  	</body>
                                  
                                  </html>
                                  
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    1 février 2011 à 9:30:36

                                    le test ca marche, et l'erreur de la page du code precedemtn donne est:
                                    Error: bouton_a_desactiver is null
                                    Line: 38

                                    et voila la ligne 38: bouton_a_desactiver.disabled = true;
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 février 2011 à 12:00:46

                                      Vérifie que ton bouton a bien le bon nom pour l'attribut ID, puis vérifie que le getElementById a bien ce même nom de ID en paramètre!

                                      Si t'as:
                                      <input type="button" id="nom_id" .....etc
                                      


                                      Dans ton js tu dois avoir:
                                      var mon_bouton = document.getElementById("nom_id");
                                      

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        1 février 2011 à 20:13:15

                                        non ca marche toujours pas, est ce possible de faire comme suite:

                                        while() {
                                        
                                        <span id="un_id">
                                        <span id="up"><input type="button"...></span>
                                        <span id="down"><input type="button"...></span>
                                        </span>
                                        }
                                        

                                        Lors du clique soit sur le boutton up ou down, on remplace les 2 bouttons par merci

                                        <span id="un_id">
                                        merci
                                        </span>
                                        



                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          2 février 2011 à 6:45:30

                                          Oui, dans ton js tu fais:

                                          var un_id = document.getElementById("un_id");
                                          un_id.innerHTML = "Merci :)";
                                          
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            2 février 2011 à 12:18:39

                                            Je ne sais pas pourquoi ces codes ne marchent plus:

                                            le code js:

                                            <script type="text/javascript">
                                            function ajax(page,divAMettreAJour){
                                            if (window.XMLHttpRequest)
                                              {// code for IE7+, Firefox, Chrome, Opera, Safari
                                              xmlhttp=new XMLHttpRequest();
                                              }
                                            else
                                              {// code for IE6, IE5
                                              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                                              }
                                            
                                            xmlhttp.onreadystatechange=function()
                                              {
                                              if (xmlhttp.readyState==4 && xmlhttp.status==200)
                                                {
                                                	 	document.getElementById(divAMettreAJour).innerHTML=xmlhttp.responseText;
                                                	 	var un_id = document.getElementById("un_id");
                                            			un_id.innerHTML = "Merci :)";
                                            
                                               	
                                            	 	//var a_elem = document.getElementById("mon_lien");
                                                	//a_elem.removeAttribute("onclick");
                                                	
                                                	//var mon_bouton = document.getElementById("nom_id");
                                            		//nom_bouton.disabled = true;
                                            
                                            
                                            
                                                }
                                              }
                                            xmlhttp.open("GET",page,true);
                                            xmlhttp.send();
                                            }
                                            </script>
                                            



                                            comments.php
                                            echo '<span id="un_id">';
                                            					
                                            			echo '<input type="button" id="nom_id'.$idcom.'" value="Up" onclick="ajax(\'page.php?thumbs=up&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'up'.$idcom.'\')" />';
                                            			echo '<span id="up'.$idcom.'"> '.$datau[0].' </span>';
                                            			
                                            			echo '&nbsp;&nbsp;&nbsp;';
                                            			
                                            			echo '<input type="button" id="nom_id'.$idcom.'" value="Down" onclick="ajax(\'page.php?thumbs=down&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'down'.$idcom.'\')" />';
                                            			echo '<span id="down'.$idcom.'"> '.$datad[0].' </span>';
                                            			
                                            			echo '</span>';
                                            
                                            page.php:

                                            <?php
                                            mysql_select_db($db_general) or die ('Erreur de selection de la BD general: '.mysql_error());
                                            //$update = 'UPDATE comments SET '.$th.' = "'.$increment.'" WHERE idc = "'.$idc.'"';
                                            
                                            if ($thumbs == 'up')
                                            {
                                            	$updateu = 'INSERT INTO thumbs VALUES ("", "'.$idcom.'", "'.$idpseudo.'", "1", "0","'.$ip_visiteur.'", "'.$MakkaDateTime.'")';
                                            	//echo $updateu.'<br>';
                                            $queryu = mysql_query($updateu) OR DIE (mysql_error());
                                            
                                            $selects = 'SELECT count(thumbsu) FROM thumbs WHERE idcom= "'.$idcom.'" AND thumbsu !="0"';
                                            //echo $selects.'<br>';
                                            //$resultu = mysql_query ($selectu) or die ('Erreur de thumbsup: ' .mysql_error());
                                            //$datau = mysql_fetch_array($resultu);
                                            //echo $datau[0];
                                            }
                                            
                                            
                                            if ($thumbs == 'down')
                                            {
                                            	$updated = 'INSERT INTO thumbs VALUES ("", "'.$idcom.'", "'.$idpseudo.'", "0", "1","'.$ip_visiteur.'", "'.$MakkaDateTime.'")';
                                            	//echo $updated.'<br>';
                                            	$queryd = mysql_query($updated) OR DIE (mysql_error());
                                            	
                                            	$selects = 'SELECT count(thumbsd) FROM thumbs WHERE idcom= "'.$idcom.'" AND thumbsd !="0"';
                                            	
                                            }
                                            
                                            echo '<span id="displayhere"></span>';
                                            
                                            $results = mysql_query ($selects) or die ('Erreur de thumbsdown: ' .mysql_error());
                                            $datas = mysql_fetch_array($results);
                                            echo $datas[0];
                                            ?>
                                            </body>
                                            
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              2 février 2011 à 16:52:31

                                              Quels sont les messages de la console d'erreurs?
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                2 février 2011 à 17:17:14

                                                Citation : cstef

                                                Quels sont les messages de la console d'erreurs?



                                                Aucun message d'erreur, mais on note que cet id doit etre variable parce qu'il est dans une boucle while() { }
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  2 février 2011 à 18:26:56

                                                  Tout ce qu'il faut c'est que le nom de l'id que tu envoies à ton code js correspond bien à id existant et qu'ils sont égaux!

                                                  Si le nom de l'id est "toto", tu dois envoyé "toto" à ton js...

                                                  Je vois que dans ton code php tu écris:
                                                  <?php
                                                  echo '<input type="button" id="nom_id'.$idcom.'" value="Up" onclick="ajax(\'page.php?thumbs=up&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'up'.$idcom.'\')" />';
                                                  ?>
                                                  


                                                  La valeur de ton attribut id est "nom_id'.$idcom", dans le onclick le deuxième paramètre de ta fonction js contient ici ceci "up'.$idcom"

                                                  Maintenant réfléchis, qu'elle sera le code html généré?

                                                  Si ta variable $idcom vaut par exemple "toto"

                                                  l'id de ton bouton sera "nom_idtoto", et la valeur que recevra ton code js sera "uptoto"

                                                  Normal que ça ne marche pas... "uptoto" n'existe pas, mais "nom_idtoto" lui existe, et c'est lui que le js aurait dû recevoir pour qu'il puisse trouvé le bouton auquel il correspond...
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    2 février 2011 à 21:11:12

                                                    Voila le code HTML genere:

                                                    <td width="150" align="center">
                                                    <span id="un_id">
                                                    <input type="button" id="up124" value="Up" onclick="ajax('page.php?thumbs=up&idcom=124&menu=1&idm=1','up124')" /><span id="up124"> 0 </span>
                                                    &nbsp;&nbsp;&nbsp;
                                                    <input type="button" id="down124" value="Down" onclick="ajax('page.php?thumbs=down&idcom=124&menu=1&idm=1','down124')" />
                                                    <span id="down124"> 0 </span>
                                                    </span>
                                                    </td>
                                                    


                                                    Et voila le code PHP:

                                                    echo '<span id="un_id">';
                                                    			
                                                    			echo '<input type="button" id="up'.$idcom.'" value="Up" onclick="ajax(\'page.php?thumbs=up&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'up'.$idcom.'\')" />';
                                                    			echo '<span id="up'.$idcom.'"> '.$datau[0].' </span>';
                                                    			
                                                    			echo '&nbsp;&nbsp;&nbsp;';
                                                    			
                                                    			echo '<input type="button" id="down'.$idcom.'" value="Down" onclick="ajax(\'page.php?thumbs=down&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'down'.$idcom.'\')" />';
                                                    			echo '<span id="down'.$idcom.'"> '.$datad[0].' </span>';
                                                    			
                                                    			echo '</span>';
                                                    


                                                    Alors l'idee "cstef", c'est que je veux pas permettre a un utilisateur de voter 2 fois ou plus sur le meme commentaire soit en up ou down, il peut voter seulement une seule fois, c'est pour cela j'ai voulu desactiver les 2 bouttons en meme temps que le vote est effectue.
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      3 février 2011 à 6:58:23

                                                      Oui j'ai bien compris ton idée Emmilly. Tu vas y arriver, t'inquiète! :)

                                                      Par contre regarde ton code, chacun de tes boutons a le même id que le span qui le suit...

                                                      <input type="button" id="up124" ... /><span id="up124"> 0 </span>
                                                      <input type="button" id="down124" ... /><span id="down124"> 0 </span>
                                                      


                                                      Et ça ce n'est pas possible, un id doit être unique dans un document!

                                                      En effet si tu demandes à js d'agir par exemple sur up124, il va choisir lequel, le bouton ou le span? Voilà pourquoi un id doit être unique...

                                                      Il faut donc modifier tes codes en conséquence.

                                                      Bon, on va essayer de faire fonctionner tout ça, renvoie-moi le contenu de tes fichiers pour que je vois où tu en es et qu'on fasse les corrections.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        3 février 2011 à 13:48:35

                                                        Les voila, et merci d'avance

                                                        le code js:

                                                        <script type="text/javascript">
                                                        function ajax(page,divAMettreAJour){
                                                        if (window.XMLHttpRequest)
                                                          {// code for IE7+, Firefox, Chrome, Opera, Safari
                                                          xmlhttp=new XMLHttpRequest();
                                                          }
                                                        else
                                                          {// code for IE6, IE5
                                                          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                                                          }
                                                        
                                                        xmlhttp.onreadystatechange=function()
                                                          {
                                                          if (xmlhttp.readyState==4 && xmlhttp.status==200)
                                                            {
                                                            	 	document.getElementById(divAMettreAJour).innerHTML=xmlhttp.responseText;
                                                            	 	var un_id = document.getElementById("un_id");
                                                        			un_id.innerHTML = "Merci :)";
                                                        
                                                           	
                                                        	 	//var a_elem = document.getElementById("mon_lien");
                                                            	//a_elem.removeAttribute("onclick");
                                                            	
                                                            	//var mon_bouton = document.getElementById("nom_id");
                                                        		//nom_bouton.disabled = true;
                                                        
                                                        
                                                        
                                                            }
                                                          }
                                                        xmlhttp.open("GET",page,true);
                                                        xmlhttp.send();
                                                        }
                                                        </script>
                                                        


                                                        comments.php:

                                                        echo '<span id="un_id">';
                                                        			echo '<input type="button" id="btnup'.$idcom.'" value="Up" onclick="ajax(\'page.php?thumbs=up&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'up'.$idcom.'\')" />';
                                                        			echo '<span id="up'.$idcom.'"> '.$datau[0].' </span>';
                                                        			
                                                        			echo '&nbsp;&nbsp;&nbsp;';
                                                        			
                                                        			echo '<input type="button" id="btndown'.$idcom.'" value="Down" onclick="ajax(\'page.php?thumbs=down&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'down'.$idcom.'\')" />';
                                                        			echo '<span id="down'.$idcom.'"> '.$datad[0].' </span>';
                                                        			
                                                        			echo '</span>';
                                                        


                                                        page.php
                                                        <body>
                                                        <?php
                                                        mysql_select_db($db_general) or die ('Erreur de selection de la BD general: '.mysql_error());
                                                        //$update = 'UPDATE comments SET '.$th.' = "'.$increment.'" WHERE idc = "'.$idc.'"';
                                                        
                                                        if ($thumbs == 'up')
                                                        {
                                                        	$updateu = 'INSERT INTO thumbs VALUES ("", "'.$idcom.'", "'.$idpseudo.'", "1", "0","'.$ip_visiteur.'", "'.$MakkaDateTime.'")';
                                                        	//echo $updateu.'<br>';
                                                        $queryu = mysql_query($updateu) OR DIE (mysql_error());
                                                        
                                                        $selects = 'SELECT count(thumbsu) FROM thumbs WHERE idcom= "'.$idcom.'" AND thumbsu !="0"';
                                                        }
                                                        
                                                        
                                                        if ($thumbs == 'down')
                                                        {
                                                        	$updated = 'INSERT INTO thumbs VALUES ("", "'.$idcom.'", "'.$idpseudo.'", "0", "1","'.$ip_visiteur.'", "'.$MakkaDateTime.'")';
                                                        	//echo $updated.'<br>';
                                                        	$queryd = mysql_query($updated) OR DIE (mysql_error());
                                                        	
                                                        	$selects = 'SELECT count(thumbsd) FROM thumbs WHERE idcom= "'.$idcom.'" AND thumbsd !="0"';
                                                        	
                                                        }
                                                        
                                                        echo '<span id="displayhere"></span>';
                                                        
                                                        $results = mysql_query ($selects) or die ('Erreur de thumbsdown: ' .mysql_error());
                                                        $datas = mysql_fetch_array($results);
                                                        echo $datas[0];
                                                        
                                                        ?>
                                                        </body>
                                                        
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          3 février 2011 à 16:39:40

                                                          Bon, essaie avec ça:

                                                          <script type="text/javascript">
                                                          function ajax(page, ref, updown) {
                                                          
                                                          	if (window.XMLHttpRequest) {
                                                          	
                                                          		xmlhttp = new XMLHttpRequest();
                                                          		
                                                          	}
                                                          	else {
                                                          		
                                                          		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                                                          	
                                                          	}
                                                          
                                                          	xmlhttp.onreadystatechange = function() {
                                                          
                                                          		if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                                                          		
                                                          			var temp = "";
                                                          			
                                                          			switch (updown) {
                                                          				
                                                          				case 0:
                                                          					temp = "up";
                                                          					break;
                                                          				case 1:
                                                          					temp = "down";
                                                          					break;
                                                          			
                                                          			}
                                                          			
                                                          			var changeit = document.getElementById(temp + ref);
                                                          			changeit.innerHTML = xmlhttp.responseText;
                                                          			
                                                          			var span2change = document.getElementById("s2e" + updown + ref);
                                                          			span2change.innerHTML = "Merci :)";
                                                          
                                                          		}
                                                           
                                                          	}
                                                          	
                                                          	xmlhttp.open("GET",page,true);
                                                          	xmlhttp.send();
                                                          	
                                                          }
                                                          </script>
                                                          


                                                          <?php
                                                          echo '<span id="s2e0'.$idcom.'">
                                                          	<input type="button" value="Up" onclick="ajax(\'page.php?thumbs=up&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\', '.$idcom.', 0)" />
                                                          </span>
                                                          <span id="up'.$idcom.'"> '.$datau[0].' </span>';
                                                          			
                                                          echo '&nbsp;&nbsp;&nbsp;';
                                                          			
                                                          echo '<span id="s2e1'.$idcom.'">
                                                          	<input type="button" value="Down" onclick="ajax(\'page.php?thumbs=down&idcom='.$idcom.'&menu='.$menu.'&idm='.$idm.'\',\'down'.$idcom.'\', 1)" />
                                                          </span>
                                                          <span id="down'.$idcom.'"> '.$datad[0].' </span>';
                                                          ?>
                                                          
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            5 février 2011 à 21:31:10

                                                            Si je clique sur up il desactive seulement le up, il ne le fait pour down aussi
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              6 février 2011 à 5:22:30

                                                              Bon ben c'est déjà mieux non?

                                                              Si tu analyses attentivement le code tu pourras toi-même le modifier afin qu'il réalise ce que tu veux.

                                                              Et ça te permettra de mieux comprendre et de progresser avec html/javascript/php.

                                                              Essaie! Si tu bloques je t'aiderai.
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Desactiver le clique apres selection

                                                              × 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