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 :

ajout ligne dans tableau sous IE


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut ajout ligne dans tableau sous IE
    Bonjour, j'ai un problème d'execution de code javascript sur Internet Explorer
    j'ai développé ce code avec le DOM,
    il rajoute une ligne dans un tableau avec l'id tableCartes : un tr contenant un td qui lui meme contient un input texte
    il fonctionne sous Firefox mais pas sous IE.
    Si quelqu'un peux m'aider à le rendre compatible avec ce navigateur.
    Merci d'avance


    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
      var n = document.forms[2].elements.length -10;
    	var tableCarte = document.getElementById("tableCartes");
    	var nouveauInputCarte = document.createElement('input');
    	var nouveauTr = document.createElement('tr');
    	var nouveauTdCarte= document.createElement('td');
    	var nouveauTdLabelCarte = document.createElement('td');
     
    	nouveauInputCarte.name = 'carteSup' + n; 
    	nouveauInputCarte.type = 'text';
    	nouveauInputCarte.id = 'carteSup' + n;
     
     
    	nouveauTdLabelCarte.width='10';
    	nouveauTdLabelCarte.align='left';
    	nouveauTdLabelCarte.setAttribute("class","label_form");
    	nouveauTdLabelCarte.setAttribute("className","label_form");
     
    	nouveauTdCarte.width='195';
            nouveauTdCarte.align='left';
     
    	var textNode = document.createTextNode('N°');
     
     
    	nouveauTdLabelCarte.appendChild(textNode);
    	nouveauTdCarte.appendChild(nouveauInputCarte);
     
    	nouveauTr.appendChild(nouveauTdLabelCarte);
    	nouveauTr.appendChild(nouveauTdCarte);
     
    	tableCarte.appendChild(nouveauTr);

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    IE exige que tu utilise TBody...
    FF peut s'en passer

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut Tbody
    pourrais tu me donner un exemple d'utilsattion stp

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    En supposant que ton code soi juste :
    (et que je fasse pas de faute)
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    	var n = document.forms[2].elements.length -10;
    	var tableCarte = document.getElementById("tableCartes");
    	if (tableCarte.firstChild.tagName.toUpperCase() == "TBODY") {
    		tableCarte=tableCarte.firstChild;
    	}
    	var nouveauInputCarte = document.createElement('input');
    	var nouveauTr = document.createElement('tr');
    	var nouveauTdCarte= document.createElement('td');
    	var nouveauTdLabelCarte = document.createElement('td');
     
    	nouveauInputCarte.name = 'carteSup' + n; 
    	nouveauInputCarte.type = 'text';
    	nouveauInputCarte.id = 'carteSup' + n;
     
     
    	nouveauTdLabelCarte.width='10';
    	nouveauTdLabelCarte.align='left';
    	nouveauTdLabelCarte.setAttribute("class","label_form");
    	nouveauTdLabelCarte.setAttribute("className","label_form");
     
    	nouveauTdCarte.width='195';
            nouveauTdCarte.align='left';
     
    	var textNode = document.createTextNode('N°');
     
     
    	nouveauTdLabelCarte.appendChild(textNode);
    	nouveauTdCarte.appendChild(nouveauInputCarte);
     
    	nouveauTr.appendChild(nouveauTdLabelCarte);
    	nouveauTr.appendChild(nouveauTdCarte);
     
    	tableCarte.appendChild(nouveauTr);

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut merci
    merci pour la rapidité de ta réponse
    en fait j'ai réussi d'une autre manière que toi
    j'ai tout simplement mis un id sur le tbody au lieu du table :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    var tableFact = document.getElementById("bodyLigneFact");
     
    var nouveauInputLitrage = document.createElement('input');
    var nouveauInputPlaque = document.createElement('input');
    var nouveauInputCarte = document.createElement('input');
    var nouveauInputConsoDate = document.createElement('input');
    var nouveauTr = document.createElement('tr');
    var nouveauTdPlaque = document.createElement('td');
    var nouveauTdCarte= document.createElement('td');
    var nouveauTdLitrage = document.createElement('td');
    var nouveauTdConsoDate = document.createElement('td');
    var nouveauTdNumLigne = document.createElement('td');
     
    nouveauTdPlaque.height = 29;
    nouveauTdCarte.height= 29;
    nouveauTdLitrage.height= 29;
    nouveauTdConsoDate.height=29;
     
    nouveauInputLitrage.name = 'litrage' + n; 
    nouveauInputLitrage.type = 'text'; 
    nouveauInputLitrage.id = 'litrage' + n;
     
     
    nouveauInputPlaque.name = 'plaque' + n; 
    nouveauInputPlaque.type = 'text';
    nouveauInputPlaque.id = 'plaque' + n;
     
    nouveauInputCarte.name = 'carte' + n; 
    nouveauInputCarte.type = 'text';
    nouveauInputCarte.id = 'carte' + n;
     
     
    nouveauInputConsoDate.name = 'consoDate' + n;
    nouveauInputConsoDate.type = 'text';
    nouveauInputConsoDate.id = 'consoDate' + n;
     
    	nouveauTdNumLigne.appendChild(document.createTextNode(n+''));
        nouveauTr.appendChild(nouveauTdNumLigne);
     
    	nouveauTdPlaque.appendChild(nouveauInputPlaque);
    	nouveauTr.appendChild(nouveauTdPlaque);
     
    	nouveauTdCarte.appendChild(nouveauInputCarte);
    	nouveauTr.appendChild(nouveauTdCarte);
    nouveauTdLitrage.appendChild(nouveauInputLitrage);
    nouveauTr.appendChild(nouveauTdLitrage);

    nouveauTdConsoDate.appendChild(nouveauInputConsoDate);
    nouveauTr.appendChild(nouveauTdConsoDate);

    tableFact.appendChild(nouveauTr);[/CODE]

    mais ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var tableCarte = document.getElementById("tableCartes");
    	if (tableCarte.firstChild.tagName.toUpperCase() == "TBODY") {
    		tableCarte=tableCarte.firstChild;
    	}
    marche aussi à merveille

    merci!!

  6. #6
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    De rien, bonne continuation !

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

Discussions similaires

  1. Ajout lignes dans tableau
    Par yo_haha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/07/2011, 21h41
  2. Réponses: 9
    Dernier message: 14/04/2009, 16h20
  3. Réponses: 5
    Dernier message: 30/09/2008, 03h14
  4. Ajouter ligne dans tableau / Ajouter checkbox & signet
    Par TIREUR dans le forum VBA Word
    Réponses: 5
    Dernier message: 16/06/2007, 00h45
  5. [VBA - W] ajout ligne dans un tableau
    Par perophron dans le forum VBA Word
    Réponses: 2
    Dernier message: 23/05/2007, 10h27

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