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 :

[javascript]CreateElement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut [javascript]CreateElement
    Bonjour à tous,

    J'ai un problème avec ce script:

    Dans mon code javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    my_row=document.createElement("TR");
    for(var i=0;i<xmlres.length;i++)
    {
         var my_cell=document.createElement("TD");
         my_cell.style.background="rgb(255,0,0)";
         my_row.appendChild(my_cell);
    }
    document.getElementById('PROGRESS').appendChild(my_row);
    dans ma page html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <TABLE width='80%' align='center' border=1 id='PROGRESS'></TABLE>
    Pourquoi ça ne fonctionne pas ????

    Merci de votre aide !!!

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    parceque appendChild ne fonctionne que dans un tbody ...

    ajoute un tbody à ton tableau ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut
    ok, je vais tenter cela.
    Mais qu'est-ce qu'un tbody ???

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    c'est ce qui va sous un theader ...


    d'ailleur IE et Ffx le simulent si tu ne l'as pas mis ...
    pour t'en convaincre essaye de récupérer le firstChild.NodeName il te retournera TBODY ...

    sinon la struicture devrait ressembler à ça ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <table>
    <theader>
    </theader>
    <tbody>
    <tr>
    <td>..</td>
    </tr>
    </tbody>
    <table>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut
    Génial !!!
    ça marche !!

    Meric beaucoup pour ton aide. J'ai fait:

    pour le javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    my_row=document.createElement("TR");
    for(var i=0;i<xmlres.length;i++)
    {
         var my_cell=document.createElement("TD"); 
         my_cell.style.background="rgb(255,0,0)";
         my_row.appendChild(my_cell);
    }
    document.getElementById('PROGRESS').appendChild(my_row);
    Dans le code HTML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print "<TABLE class=\'div_style2\'><TBODY id='PROGRESS'></TBODY></TABLE>\n";

    Il me reste encore une dernière question à poser, si ça ne te dérange pas !!
    Lorsque je créé un TD avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var my_cell=document.createElement("TD");
    Est il possible de lui attribuer un ID et un STYLE ???
    Si oui, par quel diabolique stratagème !!

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    pour l'id rien de plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var my_cell=document.createElement("TD"); 
    my_cell.id="montd" //éventuellement +indice il ne doit y avoir qu'un seul id

    pour ce qui est du style ...
    plusieurs possibilités:
    soit directement dasn la balise td:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var my_cell.style.cssText="background-color:red;color:blue"
    ou alors en ayant des class

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var my_cell.className="NomdeClass"
    entre autres possibilités ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut
    C'est parfait.

    Tout marche nickel !!!
    Merci encore pour ton aide !

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut
    Salut SpaceFrog,
    je reviens vers toi car j'ai voulu formater un peu mon truc en faisant uyne fonction qui créé la progress bar, comme ceci:

    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
     
    function CreateProgressBar(total)
    {
          var my_table=document.createElement("TABLE");
          var my_row=document.createElement("TR");
     
          for(var i=0;i<total;i++)
          {
                var my_cell=document.createElement("TD");
                my_cell.id="TD"+i;
                my_cell.style.background="#9933cc";
                my_row.appendChild(my_cell);
          }
     
          my_table.style.className='Div_style2';      
          my_table.appendChild(my_row);
          document.getElementById('PROGRESSBAR').appendChild(my_table);
    }
    L'id 'PROGRESSABR' fait référence à un TBODY qui est dans une cellule d'un autre tableau.

    Et , diantre, ça ne fonctionne plus.

    Saurais tu pourquoi ???

  9. #9
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_cell.style.backgroundColor ="#9933cc";
    ensuite tu ne tu ne fais pa de ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut
    Dans mon code HTML j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <TR><TD colspan='2' width='100%' id='PROGRESSBAR'>
    </TD></TR>
    Dans le javascript

    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
     
    function CreateProgressBar(total)
    {
          var my_tbody=document.createElement("TBODY");
          var my_table=document.createElement("TABLE");
          var my_row=document.createElement("TR");
     
          for(var i=0;i<total;i++)
          {
                var my_cell=document.createElement("TD");
                my_cell.id="TD"+i;
                my_cell.style.backgroundColor="rgb(255,0,0)";
                my_row.appendChild(my_cell);
          }
     
          my_table.style.className='Div_style2';      
          my_table.appendChild(my_row);
          my_tbody.appendChild(my_table);
          document.getElementById('PROGRESSBAR').appendChild(my_tbody);
    }

    Et toujours rien ??

  11. #11
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    heu je n'ai pas l'impression que tu appendes comme il faut ...


    append le td dans le tr
    append le tr dans le tbody
    append le tbody dans le table ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut
    Mais quel idiot, mais quel idiot !!!!

    ça fonctionne maintenant.

    Merci beaucoup !

  13. #13
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Pour info sur les tbody:

    Citation Envoyé par W3C
    <!ELEMENT TABLE - -
    (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
    http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.2.1

    TR n'est pas un des enfants possibles d'une table d'après la norme HTML 4.01

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

Discussions similaires

  1. Les meilleurs livres pour apprendre le JavaScript
    Par vermine dans le forum Livres
    Réponses: 23
    Dernier message: 10/06/2019, 18h58
  2. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    Réponses: 21
    Dernier message: 17/04/2009, 17h14
  3. [HTLM / Javascript] Soucis avec document.createElement()
    Par nebule dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/03/2006, 16h22
  4. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24
  5. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

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