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 :

Récupérer le texte de la cellule d'une table


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Points : 87
    Points
    87
    Par défaut Récupérer le texte de la cellule d'une table
    Bonjour à tous

    J'aimerai récupérer le contenu d'une cellule d'une table mais je ne trouve pas comment faire.

    En gros j'ai une table qui affiche le contenu d'une base de données, quand l'utilisateur clique sur une ligne je déclenche ma fonction et souhaite récupérer la valeur (texte) de la cellule 11 de la ligne sélectionnée.

    Je vous met le code que j'ai actuellement et qui me parait le plus cohérent, histoire que vous aiyez une base, mais j'ai essayé des dizaines d'autres solutions sans succès...

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function getCellValue(infoId)
    {
        let myTable = document.getElementById("mytableid")
        let rows = myTable.querySelectorAll("tbody tr");
        let trRows = myTable.getElementsByTagName('tr');
        for (var i = 0; i < rows.length; i++)
        {
            let id = rows[i].cells[0].innerHTML; // La cellule 0 contient l'ID
            if (id == infoId) // Je compare l'ID cliqué avec celui que je suis en train de parcourir dans la boucle for
            {
                console.log("comment: " + trRows[i].cells[11].innerHTML);
            }
        }
    }

    J'ai une erreur "TypeError: Cannot read properties of undefined (reading 'innerHTML')", alors que si je tape le "." après les accolades j'ai bien "innerHTML" qui apparait...

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Je ne comprends pas le besoin de repasser par trRows vu que tu boucles sur les lignes avec i ...
    Mais le souci ne vient pas de lç car cela fonctionne également avec trRows

    Je pense que le souci provient du fait que tu n'as pas 12 cellules dans ton tableau (mais tu ne nous montre pas ton HTML ...)

    Voici un petit test qui fonctionne
    https://jsfiddle.net/3v1c6bap/

    Une autre approche
    https://jsfiddle.net/3v1c6bap/2/

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Points : 87
    Points
    87
    Par défaut
    Merci pour la réponse rapide et pour le test !

    Ca me rassure d'une certaine manière de voir que mon code n'était pas complètement à côté de la plaque.
    Néanmoins j'ai bien 12 colonnes (12 <td>) dans ma table.

    Enfin c'est ce qu je pensais, mais je tapais dans la mauvaise table...

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Ha Ok d'ou la nécessité de passer par trRows qui aurait du pointer sur un autre table ...

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

Discussions similaires

  1. [DHX] Récupérer le style d'une cellule d'une table DHTMLX
    Par unclebounty dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 02/03/2010, 10h32
  2. Récupérer variable texte pour l'intégrer dans une image
    Par paradeeyes dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 18/10/2009, 18h01
  3. Comment récupérer le nom de la cellule dans une plage
    Par DubDub dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/03/2009, 12h26
  4. Réponses: 4
    Dernier message: 02/04/2007, 13h25
  5. Réponses: 2
    Dernier message: 17/09/2006, 23h33

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