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 :

Tableau et données html


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 408
    Par défaut Tableau et données html
    Bonjour,

    Je cherche à récupérer dans un tableau JS des valeurs d'une page xhtml.
    Mais lors de l'affichage de la 1ère valeur du tableau, celui-ci semble vide ; j'ai le message : 'null'.
    Merci pour votre aide.

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                    <h:outputText id="t1" value="a"/>
                    <h:outputText id="t2" value="b"/>
                    <h:outputText id="t3" value="c"/>
     
                    <script>
                        var t = [document.getElementById("t1"), document.getElementById("t2"), document.getElementById("t3")];
                        alert(t[0]);
                    </script>

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText id="t1" value="a"/>
    C'est une langue étrangère, pas du HTML.

    Cela me fait penser à l'élément HTML <output id="t1"></output>.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    C'est du jsf t'es pas au bon endroit
    https://www.tutorialspoint.com/jsf/j...uttext_tag.htm

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    En français sur DVP
    Forum Frameworks Web JSF
    FAQ JSF
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 408
    Par défaut
    Bonjour,
    Mon problème ne concerne pas JSF mais bien JS.
    Merci

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    Bonjour,

    Tu postes dans la section html , un code mélangeant de tout sauf du html

    html
    output
    js

    Quelque soit le projet, l'ensemble du code ne va pas ensemble

  7. #7
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    On n'avait vraiment aucune chance de comprendre la question posée dans le message n° 1 !

    Sans un extrait de 'MaTableHTMLDansLaquelleJaiPlaceMes36Valeurs' (code HTML généré) il faut toujours une boule de cristal !

    On ne peut pas deviner la structure de vos TD, ni savoir si votre table est bien formée.

    Essayer toujours .textContent au lieu de .innerHTML

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  8. #8
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    C'est déja une belle avancée, on est passé du

    au c'est une page xhtml

  9. #9
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 408
    Par défaut
    Mon code modifié (mais pas mieux avec textContent) :

    JS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var data = [document.getElementById('tbl').textContent]; alert(data[0]);
    HTML

    Code html : 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
    31
    32
    33
    34
    35
    36
    37
    38
    <table id="tbl" style="display: none">
                                <td id="annee01">#{contributeurManagerBean.listeColonneAnnee.get(0)}</td>
                                <td id="valeur01">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(0))}</td>
                                <td id="annee02">#{contributeurManagerBean.listeColonneAnnee.get(1)}</td>
                                <td id="valeur02">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(1))}</td>
                                <td id="annee03">#{contributeurManagerBean.listeColonneAnnee.get(2)}</td>
                                <td id="valeur03">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(2))}</td>
                                <td id="annee04">#{contributeurManagerBean.listeColonneAnnee.get(3)}</td>
                                <td id="valeur04">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(3))}</td>
                                <td id="annee05">#{contributeurManagerBean.listeColonneAnnee.get(4)}</td>
                                <td id="valeur05">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(4))}</td>
                                <td id="annee06">#{contributeurManagerBean.listeColonneAnnee.get(5)}</td>
                                <td id="valeur06">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(5))}</td>
                                <td id="annee07">#{contributeurManagerBean.listeColonneAnnee.get(6)}</td>
                                <td id="valeur07">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(6))}</td>
                                <td id="annee08">#{contributeurManagerBean.listeColonneAnnee.get(7)}</td>
                                <td id="valeur08">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(7))}</td>
                                <td id="annee09">#{contributeurManagerBean.listeColonneAnnee.get(8)}</td>
                                <td id="valeur09">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(8))}</td>
                                <td id="annee10">#{contributeurManagerBean.listeColonneAnnee.get(9)}</td>
                                <td id="valeur10">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(9))}</td>
                                <td id="annee11">#{contributeurManagerBean.listeColonneAnnee.get(10)}</td>
                                <td id="valeur11">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(10))}</td>
                                <td id="annee12">#{contributeurManagerBean.listeColonneAnnee.get(11)}</td>
                                <td id="valeur12">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(11))}</td>
                                <td id="annee13">#{contributeurManagerBean.listeColonneAnnee.get(12)}</td>
                                <td id="valeur13">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(12))}</td>
                                <td id="annee14">#{contributeurManagerBean.listeColonneAnnee.get(13)}</td>
                                <td id="valeur14">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(13))}</td>
                                <td id="annee15">#{contributeurManagerBean.listeColonneAnnee.get(14)}</td>
                                <td id="valeur15">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(14))}</td>
                                <td id="annee16">#{contributeurManagerBean.listeColonneAnnee.get(15)}</td>
                                <td id="valeur16">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(15))}</td>
                                <td id="annee17">#{contributeurManagerBean.listeColonneAnnee.get(16)}</td>
                                <td id="valeur17">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(16))}</td>
                                <td id="annee18">#{contributeurManagerBean.listeColonneAnnee.get(17)}</td>
                                <td id="valeur18">#{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(17))}</td>
                            </table>

  10. #10
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    On n'est toujours pas rendu au code HTML généré !

    #{contributeurManagerBean.calculerMontantTotalGeneral(contributeurManagerBean.listeColonneAnnee.get(0))} c'est du code serveur !

    Ce n'est pourtant pas difficile : vous affichez la page web, un clic droit sur la page et choisir "Afficher le code source de la page. Dans la page qui s'ouvre, copier-coller la partie du code qui représente la table.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  11. #11
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Citation Envoyé par danielhagnoul
    On n'est toujours pas rendu au code HTML généré !
    certes mais on y est presque

    Essayons de faire avancer le Schmilblic.

    Tu peux parcourir toutes les cellules de ta <table> pour en récupérer les valeurs, donc pas besoin de mettre une ID à chaque cellules.

    Une façon de procéder en utilisant les collection rows et cells
    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
    // récupération de l'élément
    var oTable = document.querySelector("#tbl");
    var lig;
    var col;
    var oRow;
    var nbCells;
    var nbRows = oTable.rows.length;
    // parcours des lignes de la table
    for (lig = 0; lig < nbRows; lig += 1) {
      oRow = oTable.rows[lig];
      nbCells = oRow.cells.length;
      // parcours des cellules d'une ligne
      for (col = 0; col < nbCells; col += 1) {
        // récupération des données
        console.log(oRow.cells[col].textContent);
      }
    }
    il te reste à mettre les données dans tes tableaux pour exploitation.

    Nota : il doit bien être possible côté serveur de générer ces tableaux directement dans une balise <script> pour obtenir quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var dates = ["2018-01-01", "2018-01-02", "2018-01-03", ...];
    var valeurs = [151, 147, 25, 45, ...];
    il me semble que cela serait quand même le mieux !


    PS : ton autre question récente semble concerner en fait le même problème merci de ne pas dupliquer tes questions mais de prendre soins de bien répondre aux questions/remarques qui te sont posées/faites !
    Citation Envoyé par denisduval75
    var data = [document.getElementById('tbl').textContent]; alert(data[0]);
    As tu pris le temps de regarder la réponse faite dans ton autre discussion, j'en doute !

Discussions similaires

  1. remplir un tableau des données en html
    Par ifdo7a dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 12/04/2013, 18h43
  2. Réponses: 7
    Dernier message: 15/12/2005, 14h24
  3. exporter un tableau de donnée vers un document word
    Par demerzel0 dans le forum Access
    Réponses: 2
    Dernier message: 04/11/2005, 11h57
  4. Filtrer un tableau de données
    Par Yux dans le forum Langage
    Réponses: 12
    Dernier message: 13/10/2005, 22h21
  5. [Collections] Transformer un tableau de données en une chaîne
    Par NATHW dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 03/06/2004, 16h44

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