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] Inserer une ligne dans un tableau


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut [DOM] Inserer une ligne dans un tableau
    Bonjour,

    suite à une requête ajax je reçois une chaine de caractère du style :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr id="ligne2">
    	<td>2</td>
    	<td>produit</td>
    	<td>version</td>
    	<td>nature</td>
    	<td>date</td>
    	<td><img src="../images/sup.gif" onClick="supp(2);"></td>
    </tr>
    (ce sont en faite des select qui se trouve entre les td)

    je voudrais ajouter cette ligne entière dans mon tableau <table id="matable">

    avec insertRow je dois découper ma chaine de caractère pour récupérer tous les éléments, faire des insertcell...

    Je voudrais savoir s'il est possible d'inserer toute la ligne (genre matable.insertLine(maligne) )

    Merci

  2. #2
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('matable').innerHTML = document.getElementById('matable').innerHTML + ta_chaine;
    Le seul hic, c'est qu'il faut remplacer les guillemets (double quotes) par des apostrophes (simple quotes) dans toute la chaine qui est ajoutée, ou les échapper.

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    je te le déconseille fortement !
    utilise le dom plutôt que le innerHTML ...

  4. #4
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    Citation Envoyé par ryan Voir le message
    Yop!
    Quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('matable').innerHTML = document.getElementById('matable').innerHTML + ta_chaine;
    Le problème avec cette solution c'est que cela récupère ce qu'il y avait avant mais ça ne tient pas compte des champs sélectionnés dans les select.

    Citation Envoyé par le_chomeur
    je te le déconseille fortement !
    utilise le dom plutôt que le innerHTML ...
    c'est-à-dire? je dois faire des insertRow ?

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 141
    Points
    11 141
    Par défaut
    Citation Envoyé par xclam Voir le message
    c'est-à-dire? je dois faire des insertRow ?
    Tout à fait. Voilà un exemple complet :
    http://www.developpez.net/forums/sho...d.php?t=334611

  6. #6
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    En fait c'était pas si terrible que ça ^^ J'ai légèrement modifié mon php pour pouvoir traiter la réponse plus facilement et ça marche nickel.

    Merci

  7. #7
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    C'est vrai, j'ai déjà lu ici et là qu'il ne fallait pas ajouter des éléments à un tableau en utilisant innerHTML, mais quels sont les arguments qui pourraient étayer cette affirmation?

  8. #8
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    traduit de l'anglais par googleTrad et issue du MSDN :


    Contrôle dynamique de tableaux est utile pour afficher le contenu d'une base de données ou la construction d'un tableau de données calculées, comme un calendrier. Lors de l'utilisation de HTML dynamique (DHTML) afin de créer un document, vous pouvez créer des objets et définir les innerText ou de propriété innerHTML de l'objet. Toutefois, en raison de la structure requise par les tableaux, le innerText et innerHTML propriétés de la table et tr objets sont en lecture seule. Pour insérer des lignes et des cellules, modifier le contenu et les attributs de la table, ou redimensionner les éléments tableau, vous devez utiliser le DOM.

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

Discussions similaires

  1. [HTML] Sélectionner une ligne dans un tableau en html
    Par jehlg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/06/2008, 11h55
  2. [DOM][langage ???]insérer une ligne dans un xml
    Par atchoumen dans le forum APIs
    Réponses: 1
    Dernier message: 03/08/2007, 13h32
  3. [VBA-E]insertion automatique d'une ligne dans un tableau
    Par janus82 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/04/2006, 15h42
  4. selection d'une ligne dans un tableau en html
    Par jehlg dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/02/2006, 23h08
  5. probleme bizarre de hauteur auto d'une ligne dans un tableau
    Par zax-tfh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/01/2005, 23h34

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