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 :

rajout ligne en tête d'un tableau html


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut rajout ligne en tête d'un tableau html
    bonjour, je voudrais utiliser javascript pour rajouter des lignes en tête d'un tableau, mais je ne sais pas comment faire?
    Merci pour votre aide.
    Alpha

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 099
    Par défaut
    Salut,
    il faut tout d’abord que tu aies une référence sur ton tableau, c’est-à-dire une variable qui te permet d’y accéder avec JavaScript. Le mieux c’est d’utiliser un id.
    De plus, si tu construis bien tes tableaux, tu mets des balises <tbody>, donc je te conseille de mettre l’id sur le tbody.
    Dans le code HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table>
    <tbody id="monTableau">
    	...
    </tbody>
    </table>
    Dans le script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var tableau = document.getElementById('monTableau');
    Ensuite, si tu n’as pas de framework, utilise les méthodes du DOM pour créer puis insérer des éléments HTML.

    Création :
    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
    // création du contenu des td
    var text1 = document.createTextNode('riri'),
    	text2 = document.createTextNode('fifi'),
    	text3 = document.createTextNode('loulou');
     
    // création des td
    var td1 = document.createElement('td'),
    	td2 = document.createElement('td'),
    	td3 = document.createElement('td');
     
    // remplissage des td
    td1.appendChild(text1);
    td2.appendChild(text2);
    td3.appendChild(text3);
     
    // création du tr
    var tr = document.createElement('tr');
     
    // assemblage du fragment
    tr.appendChild(td1);
    tr.appendChild(td2);
    tr.appendChild(td3);
    Insertion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // on commence par récupérer l’ancienne première ligne
    // attention aux nœuds text correspondant aux sauts de ligne
    var noeud = tableau.firstChild;
    while (noeud.nodeType != 1) {
    	// tant que le nœud n’est pas un élément
    	noeud = noeud.nextSibling;
    }
     
    // on insère le fragment
    tableau.insertBefore(tr, noeud);
    Je reste dispo pour les questions
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    même que watilin code à un petit détail près
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table>
    <tbody id="monTableau">
    	...
    </tbody>
    </table>
    attention si tu mets pas le thbody le navigateur lui le mettre pour toi
    dans le script
    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
    // création du contenu des td
    var text1 = document.createTextNode('riri'),
        text2 = document.createTextNode('fifi'),
        text3 = document.createTextNode('loulou');
     
    // création des td
    var th1 = document.createElement('th'),
        th2 = document.createElement('th'),
        th3 = document.createElement('th');
     
    // remplissage des td
    th1.appendChild(text1);
    th2.appendChild(text2);
    th3.appendChild(text3);
     
    // création du tr
    var tr = document.createElement('tr');
     
    // création du thead
    var thead = document.createElement('thead');
     
    // assemblage du fragment
    tr.appendChild(th1);
    tr.appendChild(th2);
    tr.appendChild(th3);
    thead.appendChild(tr);
     
     
    // on insère le fragment dans le noeud parent avant le body
    tableau.parentNode.insertBefore(thead, tableau);
    A+JYT

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Un grand merci à vous deux, cela fonctionne à merveille, j'ai su me placer sur le 2è élément (après le titre) pour créer les nouvelles lignes.
    Par contre j'ai encore une question, en fait cela va servir dans un formulaire, à partir duquel on fait une insertion dans la base de données (en utilisant ajax), et si l'insertion s'est bien passée, le but c'est d'afficher la ligne qui a été insérée en 1ère position sur le tableau.Dès lors , comment insérer les éléments générés par la page appelée par ajax, dans le tableau (j'avais pensé à innerhtml mais sur quel élément?)

    Merci.
    Alpha

  5. #5
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Non, non, pas de innerHTML, utilisez le DOM comme vous venez de faire:

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    document.createElement(), appendChild(), ...

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    quoique insertBefore() est mieux adaptée si tu veux à chaque fois insérer en première position;

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

Discussions similaires

  1. Alterner la couleur des ligne dans un tableau html
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/01/2008, 14h57
  2. Réponses: 3
    Dernier message: 30/08/2007, 08h56
  3. Ajouter dynamiquement des lignes à un tableau HTML
    Par jeannot1974 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 20/11/2006, 15h39
  4. [XSLT] Créer un tableau HTML en fixant le nombre de cases par ligne
    Par kingmandrax dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 03/07/2006, 16h07
  5. [XSLT] aide pour faire un tableau HTML avec fusion de lignes
    Par utwor dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 02/01/2006, 21h41

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