Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation deleteRow

    30 avril 2009 à 6:33:57

    Hello.

    Je n'arrive pas à effacer une ligne dans un tableau, et je ne comprends pas très bien pourquoi...
    J'utilise deleteRow, mais ma ligne n'est pas effacée o_O

    Voici mon code :
    <div id="inbox_table" class="table" style="width:100%;height:300px;overflow-Y:auto;"> 
    	<table style="width:100%;overflow:hidden"> 
    		<tbody>									
    <?php		$row_index = 0;
    
    			while($donnees = mysql_fetch_assoc($retour))
    			{
    				$sujet = stripslashes($donnees['sujet']);
    				$expediteur = stripslashes($donnees['expediteur']);
    				$date = $donnees['timestamp'];
    				$checked =($donnees['selectionne']=='0')?false:true;
    
    				echo '<tr id= "'.$row_style.'">
    				<div id="content_top">
    				<td class="td" id= "col_1"><input type="checkbox" name="case[]" value="'.$donnees['id'].'" checked = "checked" onclick="updateSelectedMessagesStatus(this);"/></td>	
    				<td class="td" id= "col_2_non_lu"></td>
    				<td class="td" id= "col_3">&nbsp;'.$expediteur.'</td>
    				<td class="td" id= "col_4"><span style="font-weight:bold;">&nbsp;<a href="index.php?messagerie='.$donnees['id'].'&amp;action=lire">'.$sujet.'</a></span></td>
    				<td class="td" id= "col_5">' .date('d/m/Y', $date).'</td>
    				<td class="td" id= "col_6">' .date('H\hi',  $date).'																															
    				<div id="content_bottom"></td>
    				</tr>';
    				$row_index++;
    			}	
    			
    			if($row_index==0)
    				echo '<tr id="row_1"><td id="col_7">Pas de messages !</td></tr>';
    ?>												
    		</tbody>
    	</table> 
    </div>
    

    et ma fonction sensée effacer ma ligne...
    function delete_msg()
    {	
    	var oElem = document.getElementsByName("case[]");
    	var oInbox 	= document.getElementById("inbox_table");
    	var oOutbox = document.getElementById("outbox_table");
    	
    	for(var i=0;i<oElem.length;i++)
    	{
    		if(oElem[i].checked) 
    		{
    			// Mise à jour du status 'vu' dans la table 'Messagerie' pour le message sélectionné
    			if(oInbox)
    			{
    				updateClearMessagesStatus(oElem[i], "Inbox");
    				oInbox.deleteRow(i);
    			}				
    			else if(oOutbox)
    			{
    				updateClearMessagesStatus(oElem[i], "Outbox");	
    				oOutbox.deleteRow(i);
    			}
    			
    			//Mise à jour de la case à cocher (non cochée)
    			oElem[i].checked = "";
    		}
    	}	
    }
    


    Quelqu'un a une piste ?
    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
    Besoin d'un job ? Envie de coopter ? Rendez-vous sur Coopt-Action.fr, la plateforme collaborative de l'emploi.
      30 avril 2009 à 7:56:47

      //Mise à jour de la case à cocher (non cochée)
      			oElem[i].checked = "";
      

      moi j'aurais mis
      oElem[i].checked = false;
      
      ...
      (même si ça peut n'avoir aucun rapport avec ton problème ;) )
      • Partager sur Facebook
      • Partager sur Twitter
        30 avril 2009 à 10:37:01

        Le probleme ne vient pas de là (dans le doute, j'ai quand même essayé ta modif ^^ )
        Une autre idée ? :euh:
        • Partager sur Facebook
        • Partager sur Twitter
        Besoin d'un job ? Envie de coopter ? Rendez-vous sur Coopt-Action.fr, la plateforme collaborative de l'emploi.
          30 avril 2009 à 10:54:07

          Tu pourrais mettre le code généré par PHP plutôt que le code PHP ? (résultat final affiché à l'écran)
          • Partager sur Facebook
          • Partager sur Twitter
            30 avril 2009 à 11:25:33

            <div id="inbox_table" class="table" style="width:100%;height:300px;overflow-Y:auto;"> 
            	<table style="width:100%;overflow:hidden"> 
            		<tbody>									
            			<tr id= "row_1">
            				<div id="content_top">
            				<td class="td" id= "col_1"><input type="checkbox" name="case[]" value="8" onclick="updateSelectedMessagesStatus(this);"/></td>
            				<td class="td" id= "col_2_non_lu"></td>
            				<td class="td" id= "col_3">&nbsp;expediteur</td>
            				<td class="td" id= "col_4"><span style="font-weight:bold;">&nbsp;<a href="index.php?messagerie=8&amp;action=lire">hd hgd gfh gh</a></span></td>
            				<td class="td" id= "col_5">24/04/2009</td>
            				<td class="td" id= "col_6">19h32
            				<div id="content_bottom"></td>
            			</tr>
            			<tr id= "row_2">
            				<div id="content_top">
            				<td class="td" id= "col_1"><input type="checkbox" name="case[]" value="7" onclick="updateSelectedMessagesStatus(this);"/></td>
            				<td class="td" id= "col_2_non_lu"></td>
            				<td class="td" id= "col_3">&nbsp;expediteur</td>
            				<td class="td" id= "col_4"><span style="font-weight:bold;">&nbsp;<a href="index.php?messagerie=7&amp;action=lire">jhgbgf fd hdf </a></span></td>
            				<td class="td" id= "col_5">24/04/2009</td>
            				<td class="td" id= "col_6">19h32
            				<div id="content_bottom"></td>
            			</tr>
            		</tbody>
            	</table> 
            </div>
            
            • Partager sur Facebook
            • Partager sur Twitter
            Besoin d'un job ? Envie de coopter ? Rendez-vous sur Coopt-Action.fr, la plateforme collaborative de l'emploi.
              30 avril 2009 à 11:29:15

              updateClearMessagesStatus(oElem[i], "Inbox");
              

              J'ose demander la fonction aussi (tant qu'on y est ;) ) parce que d'après ton code, elle existe pas ^^
              • Partager sur Facebook
              • Partager sur Twitter
                30 avril 2009 à 11:33:04

                function updateClearMessagesStatus(oElem, oBox)
                {	
                	// Instanciation de l'objet XMLHTTPRequest	
                	var xhr = getXMLHttpRequest();
                	var value = oElem.value;
                	var checked = oElem.checked;
                
                	if(value != "none")
                	{
                		if(xhr && xhr.readyState != 0)
                		{
                			xhr.abort(); 
                		} 
                		xhr.onreadystatechange = function()
                		{ 
                			if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
                			{
                				document.getElementById("loading").innerHTML = "";
                			}
                			else if(xhr.readyState == 2 || xhr.readyState == 3)
                			{
                				document.getElementById("loading").innerHTML = "<p>Chargement en cours</p>";
                			}
                		}
                
                		if(oBox=="Inbox")	
                			xhr.open("POST", "ClearInboxMsg.php", true);
                		else if(oBox=="Outbox")	
                			xhr.open("POST", "ClearOutboxMsg.php", true);
                			
                		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                		xhr.send("id=" + value);	
                	} 
                }
                
                • Partager sur Facebook
                • Partager sur Twitter
                Besoin d'un job ? Envie de coopter ? Rendez-vous sur Coopt-Action.fr, la plateforme collaborative de l'emploi.
                  30 avril 2009 à 12:25:10

                  onclick="updateSelectedMessagesStatus(this);
                  et celle-là tant qu'on y est... :p
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 avril 2009 à 12:54:44

                    function updateSelectedMessagesStatus(oElem)
                    {	
                    	// Instanciation de l'objet XMLHTTPRequest	
                    	var xhr = getXMLHttpRequest();
                    	var value = oElem.value;
                    	var checked = oElem.checked;
                    
                    	if(value != "none")
                    	{
                    		if(xhr && xhr.readyState != 0)
                    		{
                    			xhr.abort(); 
                    		} 
                    		xhr.onreadystatechange = function()
                    		{ 
                    			if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
                    			{
                    				document.getElementById("loading").innerHTML = "";
                    			}
                    			else if(xhr.readyState == 2 || xhr.readyState == 3)
                    			{
                    				document.getElementById("loading").innerHTML = "<p>Chargement en cours</p>";
                    			}
                    		}
                    
                    		xhr.open("POST", "UpdateSelection.php", true);
                    		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                    		xhr.send("id=" + value);	
                    	} 
                    }
                    
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Besoin d'un job ? Envie de coopter ? Rendez-vous sur Coopt-Action.fr, la plateforme collaborative de l'emploi.
                      30 avril 2009 à 14:07:34

                      getXMLHttpRequest is not defined
                      [Break on this error] var xhr = getXMLHttpRequest();
                      il me faudrait aussi celle là... :p
                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 avril 2009 à 14:24:31

                        La voilà :lol:

                        function getXMLHttpRequest()
                        {
                        	var xhr = null;
                        
                        	if(window.XMLHttpRequest || window.ActiveXObject)
                        	{
                        		if(window.ActiveXObject)
                        		{
                        			try
                        			{
                        				xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        			}
                        			catch(e)
                        			{
                        				xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        			}
                        		}
                        		else
                        		{
                        			xhr = new XMLHttpRequest();
                        		}
                        	}
                        	else
                        	{
                        		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
                        		return null;
                        	}
                        
                        	return xhr;
                        }
                        
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Besoin d'un job ? Envie de coopter ? Rendez-vous sur Coopt-Action.fr, la plateforme collaborative de l'emploi.

                        Utilisation deleteRow

                        × 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