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 :

Remplir un tableau en javascript


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut Remplir un tableau en javascript
    Salam,
    Je souhaite replir un tableau avec javascript ,les données dont on se sert pour rmplir sont Obtenu à partir d'un formulaire .
    Pour cela j'ai crée une fonction qui s'execute suite à une click sur un boutton ,voila ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var html=document.getElementById('TabAddRouleau').innerHTML;
    	var tab=html.split("</TBODY>");
    	html=tab[0];
    	html=html+"\n<TR>";
    	html=html+"\n<TD>"+document.form2.rouleau.value+"</TD>";
    	html=html+"\n<TD>"+document.form2.mr.value+"</TD>";
    	html=html+"\n<TD>"+document.form2.chuteT.value+"</TD>";
    	html=html+"\n<TD>"+document.form2.defaut.value+"</TD>";
    	html=html+"\n</TR>\n";
    	html=html+"</TBODY>";
    	alert (html);
    document.getElementById('TabAddRouleau').innerHTML=html;
    Avec firefox cela marhe bien mais avec IE5 il me donne l'erreur suivate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     une erreur d'éxecution inconnue !

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    eh bien en fait, après 3 lectures, je n'ai toujours pas compris ce que tu voulais faire;

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    ah si d'accord...

    et ton tableau est-il complètement vide avant que tu tentes de le remplir?

    ou alors tu cherches à créer une nouvelle ligne?

  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
    1/ Ca marche pas si il n'y a pas de tbody (il se peut que le navigateur l'enlève juste pour optimiser le code
    2/ si la balise est écrite en minuscule (comme dans les conventions XHTML), ca ne marche pas non plus..

    Cela me semble la meilleure solution (changer le innerHTML peut avoir des effets dévastateur sur les scripts ayant une variable pointant sur un objet HTML... en effet, le changement de innerHTML écrase tous les anciens objets et en crée de nouveau) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var tr=document.createElement("tr");
    tr.innerHTML=html;
    table.tBodies[0].appendChild(tr)

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    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
    45
    <table id="TabAddRouleau">
    	<tr>
    		<th>un</th>
    		<th>deux</th>
    		<th>trois</th>
    		<th>quatre</th>
    	</tr>
    </table>
     
     
    <form id="f" action="">
     
    <p>
    <input type="text" name="rouleau" />
    <input type="text" name="mr" />
    <input type="text" name="chuteT" />
    <input type="text" name="defaut" />
    </p>
     
    <p>
    <input type="button" onclick="addr(this.form.elements)" value="ajouter la ligne" />
    </p>
     
    </form>
     
     
    <script type="text/javascript">
     
    var t=document.getElementById("TabAddRouleau").tBodies[0];
    var tr, td;
     
    function addr(f){
     
    	tr=document.createElement("tr");
    	for(i=0;i<4;i++){
    		td=document.createElement("td");
    		td.appendChild(document.createTextNode(f[i].value));
    		tr.appendChild(td);
    	}
     
    	t.appendChild(tr)
     
    }
     
    </script>

  6. #6
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Salam,
    J'ai fait un astuce :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var html=document.getElementById('DivTabAddRouleau').innerHTML;
    	var tab=html.split("</TBODY>");
    	html=tab[0];
    	html=html+"\n<TR>";
    	html=html+"\n<TD>"+document.form2.rouleau.value+"</TD>";
    	html=html+"\n<TD>"+document.form2.mr.value+"</TD>";
    	html=html+"\n<TD>"+document.form2.chuteT.value+"</TD>";
    	html=html+"\n<TD>"+document.form2.defaut.value+"</TD>";
    	html=html+"\n</TR>\n";
    	html=html+"</TBODY></table>";
    	alert (html);
    document.getElementById('DivTabAddRouleau').innerHTML=html;
    Est cela marche bien !
    Merci à vous tous
    Et specialement à Toi FremyCompany !

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

Discussions similaires

  1. Remplir un tableau via Javascript & Action Controller
    Par Invité dans le forum ASP.NET MVC
    Réponses: 5
    Dernier message: 21/06/2013, 14h03
  2. remplir un select avec un tableau de javascript
    Par bulldo dans le forum Général JavaScript
    Réponses: 30
    Dernier message: 11/08/2011, 14h47
  3. Comment remplir un tableau en javascript?
    Par metou2703 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/09/2009, 18h27
  4. Réponses: 12
    Dernier message: 27/03/2007, 15h48
  5. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 14h02

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