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

Contributions JavaScript / AJAX Discussion :

Les tableaux (balise table) [Fait]


Sujet :

Contributions JavaScript / AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Les tableaux (balise table)
    http://javascript.developpez.com/faq...pt/?page=Table

    Comme je n'ai que très peu de commentaires à poster sur cette section, j'ai préféré tout grouper.

    1- Comment ajouter une ligne à un tableau ?
    http://javascript.developpez.com/faq...ble#AjoutLigne
    Dans la fonction addRow(), on initialise tout d'abord une variable newRow avec document.getElementById('table').insertRow(-1). La fonction insertRow peut prendre plusieurs paramètre :
    Le style "justifié" s'applique mal à ce texte : on des grands espaces entre chaque mot.
    Il manque un "s" à "paramètre". Le bout de code contenu dans la phrase n'est pas mis en évidence. Il manque des points à la fin des énumérations.

    J'aimerai que l'on insiste sur le fait que innerHTML n'est pas adapté pour insérer des lignes et des cellules dans un tableau et qu'il faut impérativement utiliser les fonctions du DOM. Il faut réserver innerHTML pour insérer du texte non formaté.


    Proposition de correction

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <table id="table">
        <tr>
            <td>Cellule 0</td>
            <td>Cellule 1</td>
        </tr>
    </table>
    <input type="button" value="Ajouter une ligne" onclick="AddRow()" >

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript">
    function AddRow(){
        var newRow = document.getElementById('table').insertRow(-1);
        var newCell = newRow.insertCell(0);
        newCell.innerHTML = '[nouvelle cellule 0]';
        newCell = newRow.insertCell(1);
        newCell.innerHTML = '[nouvelle cellule 1]';
    }
    </script>

    Dans la fonction addRow(), on initialise tout d'abord une variable newRow avec document.getElementById('table').insertRow(-1). La fonction insertRow peut prendre plusieurs paramètres :
    • -1 : La ligne sera ajoutée à la fin du tableau.
    • 0 : La ligne sera ajoutée au début du tableau.
    • autre valeur numérique : la ligne sera ajoutée à la place correspondant à la valeur numérique. Cette valeur ne doit tout de même pas être supérieure au nombre total de lignes du tableau.


    Remarque :
    La fonction innerHTML n'est pas adaptée pour insérer des lignes et des cellules dans un tableau, il faut impérativement utiliser les fonctions du DOM. Il faut réserver innerHTML pour insérer du texte non formaté.
    Voir Utilisation du DOM.

    2- Comment écrire dans une cellule d'un tableau ?
    http://javascript.developpez.com/faq...EcrireCelleule
    On pourra remarquer une faute de frappe dans le lien : #EcrireCelleule au lieu de #EcrireCellule (le lien est tout de même valide malgré la faute).


    3- Comment mettre un scrollbar à gauche sur un tableau ?
    http://javascript.developpez.com/faq...ble.scrollLeft
    RAS

  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
    Par défaut
    Aucune remarque à formuler ?

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut


    2- Comment écrire dans une cellule d'un tableau ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var oTexte = document.createTextNode('Au revoir');
    var oCel   = document.getElementById('cel');
    oCel.replaceChild( oTexte, oCel.firstChild);// attention quand même à la structure du contenu
    Il y aurait matière à développez, , au sujet de l'injection/modification/suppression d'éléments dans les TABLEs.

    Utilisations prioritaires des méthodes qui sont faites pour cela insertRow, insertCell, deleteRow, deleteCell et autres, et que dans le cas d'utilisation de la méthode createElement l'élément TR doit être ajouté au TBODY de la table pour être crossBrowser.

  4. #4
    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
    Citation Envoyé par NoSmoking Voir le message

    Il y aurait matière à développez, , au sujet de l'injection/modification/suppression d'éléments dans les TABLEs.
    J'ai ce script comme exemple pour l'ajout / suppression de lignes :
    http://www.developpez.net/forums/d33...u/#post2057900
    Après quelques retouches on peut peut-être l'ajouter dans la question ? Ou alors dans la partie Divers scripts utiles ?

  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
    Trois Q/R me semble mieux.

  6. #6
    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
    Citation Envoyé par vermine Voir le message
    Trois Q/R me semble mieux.
    Je vais préparer ça.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/01/2009, 22h47
  2. [Conception] Table multidimensionnelle (comme pour les tableaux) ?
    Par dolfy dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 06/10/2008, 10h36
  3. Réponses: 14
    Dernier message: 01/09/2003, 22h46
  4. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

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