ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010
-
23 août 2007 à 15:05
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010
-
23 août 2007 à 18:22
Salut à tous,
j'ai un gros problème, car je voudrais remplir un tableau à l'aide des composants appenchild, etc.... et apparament ca me remplit mon tableau comme il faut, mais pourtant à l'affichage il n'y a rien quand je fait par exemple alert(document.getElementById("content_table_liste").innerHTML); je vois que mon tableau s'est remplit correctement par contre il est toujours vide...
je vous montre mon code:
et dans mon fichier js:
function add_table_liste(array_table){
for(i=0;i
Merci d'avance
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 23 août 2007 à 16:32
dans IE, ça baigne aussi... si on met ça dans TBody
pas dans table ( on oublie toujours ce satané tbody ! )
mais, avec FF, ça ne lui plait pas ! (il me reste peut-être des erreurs )
pas regardé avec safari.
perso j'utilise plutôt insertRow et insertCell
( parce que ça me semble plus simple,
et que ça baigne partout de la même manière
ch'tit exemple ici )
<script type="text/javascript">
var liste=new Array(
new Array("a1","a2","a3","a4"),
new Array("b1","b2","b3","b4","b5","b6"),
new Array("c1","c2")
);
var t0=document.getElementById("tableau");
var t1,t2,t3,t4;
for ( var l=0;l<liste.length;l++ )
{ t1=document.createElement("tr");
t2=t0.appendChild(t1);
for ( var c=0;c<liste[l].length;c++ )
{ t3=document.createElement("td");
t4=t2.appendChild(t3);
t4.innerText=liste[l][c];
}
}
</script>
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 23 août 2007 à 17:08
Et en faisant comme ça ?
function clearTable(){
var _table = document.getElementById("content_table_liste");
while ( _table.rows.length >0)
_table.deleteRow(0);
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 23 août 2007 à 16:42
Bien le bonjour ,
Trop rapide Bultez, trop rapide
voilà la méthode avec les insertRow, insertCell
function add_table_liste(array_table){
// récupère la table
var _table = document.getElementById("content_table_liste");
for(i=0;i<array_table.length;i++){
// création d'une ligne
var row = _table.insertRow(i);
//création d'une colonne.
var new_control_td_marque=row.insertCell(0);
new_control_td_marque.id=array_table[i][12];
new_control_td_marque.onclick=function(){read_array(this.id)};
new_control_td_marque.appendChild ( document.createTextNode(array_table[i][1]));
//création d'une colonne.
var new_control_td_modele=row.insertCell(1);
new_control_td_modele.id=array_table[i][12];
new_control_td_modele.onclick=function(){read_array(this.id)};
new_control_td_modele.appendChild (document.createTextNode(array_table[i][2]) );
//création d'une colonne.
var new_control_td_millesime=row.insertCell(2);
new_control_td_millesime.id=array_table[i][12];
new_control_td_millesime.onclick=function(){read_array(this.id)};
new_control_td_millesime.appendChild ( document.createTextNode(array_table[i][0]) );
}
}
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 23 août 2007 à 16:55
Le problème des insertRow, insertCell est tout de même la gestion de la table :
doit-on vider la table avant ?
inserer à la suite des lignes éxistantes ?
Mais sans informations, pas de solutions !
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 23 août 2007 à 16:55
je suis en train de faire une fonction pour effacer toutes les lignes du tableau, et ce que vous pouvez me dire si c'est une solution qui convient?
var tags=['tr'];
var count_var=0;
for(tagCounter=0;tagCounter<tags.length;tagCounter++){
var inputs=document.getElementsByTagName(tags[tagCounter]);
for(var no=0;no<inputs.length;no++){
var mytable=inputs[no].id;
if(mytable.substring(0,12)=='table_liste_'){
document.getElementById('content_table_liste').removeChild(document.getElementById('content_table_liste').lastChild);
}
}
} }
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 23 août 2007 à 17:00
bah on a ecrit en même temps, bah j'y vien là, en fait il faut que j'efface le tableau avant d'insérer c'est pour ca, que j'ai créer la fonction ci dessus, mais je suis pas sur qu'elle convienne