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 :

Accès à une case d'un tableau grâce à headers


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut Accès à une case d'un tableau grâce à headers
    Bonjour,

    J'ai un tableau dont une colonne a un id, et certaines cases ont un headers pour être liées à cette colonne (id et headers sont donc égaux).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <TABLE id="tabFacture">
          <TR><TH id="totalFTE">TOTAL FTE €</TH></TR>
          <TR><TD headers="totalFTE"></TD></TR>
    </TABLE>
    J'aimerais savoir comment accéder à la valeur d'une case à partir de son headers, je ne trouve pas ...
    Je sais vérifier l'headers d'une case par (cellule est une case) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(cellule.headers=="totalFTE")
    Mais pas y accéder en passant directement par l'headers.

    Merci pour vos réponses

  2. #2
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Il me semble que c'est :

    document.all.tabFacture.headers="totalFTE"

    Mais c'est pas sûr du tout. Vérifie dans la FAQ comment avoir acces aux cellule d'un tableau, tu devrais trouver je pense

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Citation Envoyé par stolx_10
    Il me semble que c'est :

    document.all.tabFacture.headers="totalFTE"

    Mais c'est pas sûr du tout. Vérifie dans la FAQ comment avoir acces aux cellule d'un tableau, tu devrais trouver je pense
    Il ne veut pas modifier la valeur du headers mais le contenu de la cellule dont l'headers est défini.
    De plus document.all ne fonctionne que pour IE.

    @poopsinou : Pourquoi ne pas attribuer un id à la cellule ?

    Après tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("monid").firstChild.nodeValue = "Mon texte";

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui je ne veux pas la modifier mais merci quand même pour la réponse

    Pour le bisounours : le truc c'est que c'est pour additionner toutes les valeurs des cases d'une colonne quand elle existe (car parfois je n'ai pas de cases pour la colonne pour certaines lignes), donc je ne peux pas mettre d'id ...
    Et je sais que y'a headers, mais je trouve nulle part sur le web pour faire ce que je veux

    P.S : je préfèrerais que tu dises "elle" plutôt que "il" en parlant de moi lol, c'est pas que ça me gêne, mais ça fait bizarre

  5. #5
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    De plus document.all ne fonctionne que pour IE.
    Heu..... tu es sûr ?? parceque j'ai fait récemment un jeu du pendu à ma sauce à l'aide de ça et sous firefox ça marche !! Et hier on m'a filé un truc soit disant qui marchait que sous IE, j'ai testé sous firefox et pareil, ça fonctionne

    Moi je dis ça comme ça

    document.all.tabFacture.headers=="totalFTE" j'ai oublié un =

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Citation Envoyé par poopsinou
    Pour le bisounours : le truc c'est que c'est pour additionner toutes les valeurs des cases d'une colonne quand elle existe (car parfois je n'ai pas de cases pour la colonne pour certaines lignes), donc je ne peux pas mettre d'id ...
    Et je sais que y'a headers, mais je trouve nulle part sur le web pour faire ce que je veux
    Heu, ben si ton tableau est créé à partir de PHP, tu peux par exemple faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td id="totalFTE<?=$i?>"></td>
    Où $i est autoincrémenté dans ta boucle.
    (Si tu n'es pas en PHP ou que ton tableau n'est pas dynamique, arrange le code à ta sauce )
    Puis en javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var total = 0;
    for(i=0;i<=nombredelignes;i++){
       total = total + document.getElementById('totalFTE'+i).firstChild.nodeValue;
    }
    Pas dit que ça fonctionne, j'ai fait ça à la va-vite.
    Citation Envoyé par poopsinou
    P.S : je préfèrerais que tu dises "elle" plutôt que "il" en parlant de moi lol, c'est pas que ça me gêne, mais ça fait bizarre
    Désolé, il n'y a aucun moyen de savoir si tu es de sexe féminin ou masculin, donc en disant "il", j'avais potentiellement moins de chance de me tromper.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Pas grave pour le il ou elle

    Sinon pour le truc du id, j'y avais pensé, mais justement les headers sont là pour faire la même chose je crois. SI je ne trouve pas, ben je ferais avec un id à chaque case ...

  8. #8
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    @poopsinou : C'est pas toi "chamallow" ?

    Edit :

    Ah sapristi, j'avais cru que cette personne avait eu sa réponse à la fin ... Désolé. X__x

  9. #9
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Lol le mec il fait ses investigations

  10. #10
    Invité
    Invité(e)
    Par défaut
    Je suis découverte
    Si c'est moi, mais j'ai pas trouvé de solution là-bas, donc je demandes ici. Généralement, je fais pas en double mais là ça m'énerve mon truc de headers lol
    Et puis en fait, je viens ici que depuis peu, donc j'ai pas encore l'habitude
    Désolée

    EDIT : ce qu'on m'a dis là bas me suffisait au début, parce que j'avais toujours le même nombre de cases pour toutes les lignes, mais maintenant que c'est plus le cas, ça se casse tout la gueule Je ne trouvais plus pourquoi je voulais pas de cette solution, maintenant je me rappelles très bien

  11. #11
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Citation Envoyé par stolx_10
    Lol le mec il fait ses investigations
    Non, j'ai simplement fait une recherche sur Google pour aider la jeune demoiselle et par la même découvrir l'attribut "headers" et je suis tombé là-dessus.

    Mais on se fourvoie. =)

  12. #12
    Invité
    Invité(e)
    Par défaut
    Je trouve des trucs qui en parlent, mais rien qui me disent comment y faire

  13. #13
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    @poopsinou : Tu peux nous donner les liens de ce que tu trouves à propos des headers ?

  14. #14
    Invité
    Invité(e)
    Par défaut
    Tout ce que je trouve c'est des trucs généraux sur le sujet du style :
    http://www.accessiweb.org/fr/Label_A...ssiweb_bronze/

  15. #15
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Essaye avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('monid').rows[1].cells[0].firstChild.nodeValue);
    Les éléments en rouge étant à modifier selon ta convenance.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <table border="1" id="tab">
      <tr>
        <td id="test" onclick="gnia()">Entete</td>
      </tr>
      <tr>
        <td headers="test" onclick="gnia(1)">Salut 1</td>
      </tr>
      <tr>
        <td headers="test" onclick="gnia(2)">Salut 2</td>
      </tr>
    </table>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function gnia(n){
      alert(document.getElementById('tab').rows[n].cells[0].firstChild.nodeValue);
    }

  16. #16
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('monid').rows[1].cells[0].firstChild.nodeValue);
    J'ai pas compris désolée

    Mais le truc c'est que moi, faut que je retrouve l'index de la cellule qui est lié à l'identifiant ... D'où le fait de passer par l'headers ... là tu dis directement que c'est l'indice 0, mais moi je peux pas savoir comme ça ... Rooo ça m'énerve ce truc

    EDIT : peut-être que c'est pas possible et que donc faut que je fasses des id comme tu as dis ...

    J'ai essayé d'accéder à la case en utilisant getAttribute(), mais ça a été un échec
    Dernière modification par Invité ; 03/10/2006 à 16h50.

  17. #17
    Invité
    Invité(e)
    Par défaut
    J'ai pas trouvé, mais j'ai fais comme ça et ça marche (cpt c'est un compteur pour toutes les lignes du tableau) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var ligneEnCours = document.getElementById('tabFacture').rows[cpt];
    for(var k=0 ; k<ligneEnCours.cells.length ; k++)
    {
          if(ligneEnCours.cells[k].headers=="totalFTE")
          {
                 alert("bonne case !");
          }
    }
    Pas besoin d'id, juste de l'header comme je voulais, bon faut boucler mais c'est pas grave

    Merci de votre aide

    EDIT : je sais pas pourquoi j'y ai pas pensé plus tôt !

  18. #18
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    de rien même si moi j'ai pratiquement rien fait pour t'aider

  19. #19
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Je ne pense pas que tu pouvais y arriver sans boucle.

    De rien. =)

  20. #20
    Invité
    Invité(e)
    Par défaut
    Oui je crois aussi que c'était pas possible directement sinon y'aurait au moins un site qui en parlerai (ou je sais pas chercher ).

    Et puis même si tu n'a pratiquement pas aidé comme tu le dis stolx_10, tu t'es intéressé au sujet, donc merci

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

Discussions similaires

  1. Accès à une case d'un tableau via l'index
    Par maVariable dans le forum JSF
    Réponses: 7
    Dernier message: 09/06/2008, 19h40
  2. Réponses: 9
    Dernier message: 15/05/2006, 16h23
  3. Lien dans une case d'un tableau
    Par will89 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 27/04/2006, 10h50
  4. [Debutant] URL utilisable depuis une case d'un tableau de BD
    Par Marc_3 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/04/2005, 19h06
  5. Accès à une case d'un DBGrid dans l'event OnKeyDown
    Par fba dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/03/2004, 12h48

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