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 :

Enregistrer un tableau en object en JavaScript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 6
    Par défaut Enregistrer un tableau en object en JavaScript
    Bonjour à tous,
    Alors voilà ma question. En fait, je cherche à transformer un tableau de note codé en HTML dans un objet JavaScript afin qu'il soit plus facile à manipuler, et plus précisément à remettre en page.

    Voici le tableau :
    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
    39
    40
    41
    42
    43
    44
    <table class="table table-bordered bulletin">
    <thead>
    	<tr>
    		<th>UE</th>
    		<th>Module</th>
    		<th>Matière</th>
    		<th>Evaluation</th>
    		<th class="coef">Coefficient</th>
    		<th class="resultat">Moyenne ou Note</th>
    		<th class="resultat">Moyenne<br/>Promo</th>
    		<th class="rang">Rang</th>
    	</tr>
    </thead>
    <tbody>
     
    	<tr class="ue">
    		<td colspan="4">UE 41 : Compléments en informatique</td>
    		<td class="coef">10</td>
    		<td class="resultat">13</td>
    		<td class="resultat">13,34</td>
    		<td class="rang">19</td>
    	</tr>	<tr class="matiere">
    		<td colspan="2"></td>
    		<td colspan="2">M4101C-IPI : Administration système et réseau</td>
    		<td class="coef">1,50</td>
    		<td class="resultat">13</td>
    		<td class="resultat">13,34</td>
    		<td class="rang">19</td>
    	</tr>	<tr class="evaluation">
    		<td colspan="3"></td>
    		<td>19/02/2015 : contrôle </td>
    		<td class="coef">1</td>
    		<td class="resultat">13</td>
    		<td class="resultat">13,34</td>
    		<td class="rang">19</td>
    	</tr>		
    	<tr class="general">
    		<td colspan="4">Moyenne générale</td>
    		<td>&nbsp;</td>
    		<td class="resultat">13</td>
    		<td class="resultat">10,37</td>
    		<td class="rang">28</td>
    	</tr></tbody>
    </table>

    Ce que je voudrais faire en fait, c'est par exemple faire un objet qui aurait une tête du genre objet[ue][matiere][evaluation]. Le but à terme, serait de transformer cet objet en JSON pour pouvoir le parser facilement. Je précise bien que je ne peux utiliser que JavaScript, car je me sers de Cordova pour développer une application Android.


    Je vous remercie bien chaleureusement par avance

  2. #2
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 17
    Par défaut
    Salut,

    Les solutions qui me viennent :

    1. Solution statique : générer le code javascript
    - analyser syntaxiquement le code et le traduire en Javascript (il te faut un parser du style yacc qui génère du C),
    - inclure ton code à ce que tu veux.

    2. Solution dynamique : créer l'objet javascript pendant l'exécution.
    - analyser syntaxiquement le code html et créer l'objet au fur et à mesure en javascript (il faut pouvoir donner l'accès à Javascript au fichier (ou à la base de données) qui contient le code html).

    Bon courage.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 17
    Par défaut
    Si ton but est simplement de coder en Javascript le code html que tu as présenté ce n'est pas bien compliqué faut apprendre Javascript. Ce ne sera pas très long car il est simple.

    Dans mon précédent message je te donnais une solution pour n'importe quel code html.

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Comment est généré ce tableau HTML ? Pour une application Cordova ça m'aurait paru plus logique que le serveur envoie directement les données en JSON, récupérées côté client via un appel AJAX. Ensuite générer le tableau en HTML à partir de l'objet JavaScript est un jeu d'enfant.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 6
    Par défaut
    Ç'aurait été l'idéal en effet... Mais le fait est que notre projet est de réaliser une application pour le site de notre IUT. Mais le fait est également que nous n'avons strictement aucun accès à quoi que ce soit du site, surtout pas au serveur. Et je n'ai aucune idée de comment le tableau est généré... De plus, on passe par une iframe. Ça complique un petit peu plus les choses encore...

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par défaut Pas top mais bon j'aurais essayé
    Salut une petite esquisse pour le reste je te laisse faire, pas sure que ça te convient .

    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
     
    var json = [];
     
    $('table tbody tr').each(function(){
     
      switch($(this).attr('class')){
        case 'ue' : 
          json['ue'] = ($(this));
          break;
        case 'matiere' :
          json['ue']['matiere'] = $(this);
          break;
        case 'evaluation' : 
          json['ue']['matiere']['evaluation'] = $(this);
          break;
      }
     
    });
     
    console.log(json) // pour l'object
    console.log(JSON.stringify(json.eu)) //pour ton object stringifier json ;)

Discussions similaires

  1. enregistrer un tableau dans un fichier texte
    Par petitours dans le forum C++Builder
    Réponses: 3
    Dernier message: 06/11/2006, 14h10
  2. gestion d'un tableau d'Object
    Par niro75 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 30/10/2006, 17h33
  3. [Débutant]Tableau d' Object / Tableau de String
    Par lfournial dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 28/09/2006, 14h33
  4. Passer un tableau de VbScript vers Javascript
    Par Poussy-Puce dans le forum ASP
    Réponses: 1
    Dernier message: 03/03/2006, 12h07
  5. Déclaration d'un tableau d'Object
    Par elitost dans le forum Groovy
    Réponses: 1
    Dernier message: 19/10/2005, 14h15

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