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 :

[DOM] Ajout dynamique de tableau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Par défaut [DOM] Ajout dynamique de tableau
    Bonjour à tous,

    Voilà j'aimerais savoir comment faire pour ajouter dynamiquement de morceau de tableau.

    Je m'explique; j'ai le tableau suivant

    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
     
    <table id="galerie_cat" width="100%">
       <tr id="mon_premier_element">
    	<td>
    	   <table id="galerie_cat_no2" width="100%">
    		<tr >
    		   <td valign="top" width="150px"><img src="modules/galerie_membre/image_galerie/test.jpg" width="114px" height="150px" >
                        </td>
    		    <td valign="top" style="padding-left:10px;">legende</td>
    		    <td valign="top" width="5%"><img src="images/espace_membre/edit2.png"></td>
    		     <td valign="top" width="5%"><img src="images/espace_membre/del.png"></td>
                      </tr>
    	    </table>
    	</td>
       </tr>
    </table>
    Voici donc le code et je voudrais ajouter de manière dynamique un élément <tr> au tableau id="galerie_cat" et dans ce tr serait logé comme dans le code ci-dessous les infos. (table id="galerie_cat_no2" etc...)

    //edit : la suppression m'interesse aussi !!! de l'élément mon_premier_element

    Merci d'avance de votre aide...

    P.S: si mes explications ne sont pas claire n'hésitez pas à me demander de nouveau

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Par défaut
    Merci je vais tester donc!

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Par défaut
    Bonsoir,

    J'ai donc tester ! Pour la suppression pas de problème mon soucis se situe au niveau de l'ajout enfin visuellement cela s'ajoute mais ma fonction supprimer ne s'exécute pas comme il faut:

    Le 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    <?
    function supprimer_imagemembre(ligne2,tableau,compte,id)
    			{
    			alert(id);
    			if(confirm('".GLM_SUP."'))
    				{
    				var ligne = document.getElementById(ligne2);
    				document.getElementById(tableau).deleteRow(ligne.rowIndex);
    				/* fonction ajax de suppression */
    				var xmlhttp = getHTTPObject();
        			xmlhttp.open(\"GET\", 'modules/galerie_membre/ajax/supprime.php?id='+id);
    				vider_cache(xmlhttp);
        			xmlhttp.onreadystatechange = function() 
    					{
    		  			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    						if(xmlhttp.responseText.charAt(0)!=1)
    							alert('".GLM_ERRSUP."');
    						}
           				}
    				xmlhttp.send(null);
    				/*
    				//Recomptage des lignes...
      				var tableau = document.getElementById(tableau);
      				var trs = tableau.rows;
      				var n = trs.length;
      				var i;
     				for (i=1; i<n; i++) //on commence à 1 et non à 0 ;)
      					{
        				trs[i].cells[0].innerHTML = trs[i].rowIndex;
      					}
    				*/
    				document.getElementById(compte).innerHTML=parseInt(document.getElementById(compte).innerHTML)-1;
    				}
    			}
    		function test(image,id)
    			{
    			alert('id='+id+'  image='+image);
    			var tableau = document.getElementById('galerie_cat');
      			var ligne = tableau.insertRow(-1); 
     
      			Cell    		= ligne.insertCell(0);
    			Cell.id 		= 'galerie_membre_'+id;
      			Cell.innerHTML	= '<table id=\"galerie_cat_no2\" width=\"100%\"><tr><td valign=\"top\" width=\"150px\"><img src=\"modules/galerie_membre/image_galerie/mini_'+image+'\"></td><td valign=\"top\" style=\"padding-left:10px;\">&nbsp;</td><td valign=\"top\" width=\"5%\"><img src=\"images/espace_membre/del.png\" style=\"cursor:pointer;\" title=\"".GLM_SUPIN2."\" alt=\"".GLM_SUPIN2."\" onclick=\"supprimer_imagemembre(\'galerie_membre_'+id+'\',\'galerie_cat\',\'nb_imagegalerie\',id);\"></td></tr></table>';
    			}
    ?>
    test() est la fonction d'ajout.

    Se reporter au code de mon premier post pour voir le code html.

    Merci d'avance à vous!

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    innerHTML pour insérer un tableau dans une cellule (qui condiendra 2 images), ce n'est pas ce qu'il y a de mieux

    Utilise les fonctions du DOM : createElement. Et je pense que tu peux te passer de l'insertion d'un tableau dans une cellule pour présenter ta page et utiliser des feuilles de styles.

  6. #6
    Membre confirmé
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Par défaut
    Oui c'est clair !!!

    Tu as raison j'ai utilisé un style et punaise ben l'insertion et la suppression devienne un jeu d'enfant je fait juste un hidden=true et pour les création des innerHTML et hop c'est ok !

    Merci de ton aide elle m'a permius d'apprendre des choses sur les tableau et le DOM merci à toi

    Bonnne continuation !

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

Discussions similaires

  1. [DOM] ajouter un element dynamiquement dans un tableau (<table>)
    Par Skanking dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 24/01/2009, 11h40
  2. [DOM] Ajouter dynamiquement des champs inputs
    Par bobic dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/05/2008, 13h10
  3. [DOM] Ajout dynamique d'une ligne dans un <table>
    Par Alzelus dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/05/2007, 17h05
  4. [DOM] Ajouter dynamiquement une zone de texte
    Par fadex dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/02/2007, 15h01
  5. [DOM] ajouter cellspacing dynamiquement
    Par danyboy85 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/04/2006, 11h30

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