OVH Cloud OVH Cloud

Effacer tableau ds une page

21 réponses
Avatar
Bruno
Bonjour,
je choisis un élément ds une liste, je fais certains calculs, et, je fais
une boucle ds laquelle je construit un tableau avec des résultats du calcul
précédent.
Dans la même page j 'écris mon tableau avec un document.write.
Mon problème: comment effacer ce tableau et en reécrire un autre à la place?
en mettant un ID="mon tableau" en entête du tableau? et après je cherche un
truc du genre document.montableau.erase? .delete?

merci d'avance

10 réponses

1 2 3
Avatar
Bruno
Merci ca marche très bien
Bruno
"ASM" a écrit dans le message
de news: 457adf63$0$5074$
bonjour,
j'ai fait des essais quelle que soit la syntaxe javascript ou jscript ou
<script> tout court (syntaxe que j'ai trouvé sur MSDN) rien ne s'affiche
chez moi (PC +IE6).


Pour IE Win il semblerait qu'il lui manquait le tBody ...

ceci maintenant fonctionne :

<HTML>
<SCRIPT type="text/javascript">
function tableau() {
var tablo = document.createElement('TABLE');
alert('vu');
tablo.id = 'myTable';
tablo.border = 1;
tablo.width = '80%';
var tabl = document.createElement('TBODY');
for(var r=1; r<5; r++) {
var rang = document.createElement('TR');
for(var i=1; i<6; i++) {
var cel = document.createElement('TD');
cel.style.textAlign='center';
cel.innerHTML = 'rang:'+r+' col:'+i;
//alert (cel.innerHTML );
rang.appendChild(cel);
}
tabl.appendChild(rang);
}
tablo.appendChild(tabl);
document.body.appendChild(tablo);
}
</SCRIPT>
<input type="button" value="ESSAI" name="montage" onClick="tableau()">
</html>

--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
Stephane Moriaux and his (less) old Mac already out of date



Avatar
Guy
bonjour,
j'ai fait des essais quelle que soit la syntaxe javascript ou jscript ou
<script> tout court (syntaxe que j'ai trouvé sur MSDN) rien ne s'affiche
chez moi (PC +IE6).

**CODE********************
<HTML>
<script type="text/javascript">
function tableau() {
var tabl = document.createElement('TABLE');
alert ("Je passe ds la fonction");
tabl.id = 'myTable';
tabl.border = 1;
tabl.width = '80%';


document.body.appendChild(tabl);

for(var r=1; r<5; r++) {
var rang = document.createElement('TR');
for(var i=1; i<6; i++) {
var cel = document.createElement('TD');
cel.style.textAlign='center';
cel.innerHTML = 'rang:'+r+' col:'+i;
rang.appendChild(cel);
}
tabl.appendChild(rang);
}
/* document.body.appendChild(tabl); */


Bonjour ,
votre appendChild de tabl est mal placé; il faut qu'il soit avvant les
adjonctions de cel et rang
Guy
}
</script>
<BODY>

<input type="button" value="ESSAI" name="montage" onClick="tableau()"> <p>

</BODY>
</HTML>


Avatar
Laurent vilday
for(var r=1; r<5; r++) {
var rang = document.createElement('TR');
tabl.appendChild(rang);
}
/* document.body.appendChild(tabl); */


Bonjour ,
votre appendChild de tabl est mal placé; il faut qu'il soit avvant les
adjonctions de cel et rang


Non, absolument pas. Bien au contraire même !

En le plaçant devant, ça forcerai alors la restitution de l'élément sur
la page (document reflow), ce qui provoquera à coup sûr des
ralentissements d'éxécution, et des erreurs de rendu graphique tant que
l'éxécution sera pas terminée.

--
laurent


Avatar
Guy


for(var r=1; r<5; r++) {
var rang = document.createElement('TR');
tabl.appendChild(rang);
}
/* document.body.appendChild(tabl); */



Bonjour ,
votre appendChild de tabl est mal placé; il faut qu'il soit avvant les
adjonctions de cel et rang



Non, absolument pas. Bien au contraire même !

En le plaçant devant, ça forcerai alors la restitution de l'élément sur
la page (document reflow), ce qui provoquera à coup sûr des
ralentissements d'éxécution, et des erreurs de rendu graphique tant que
l'éxécution sera pas terminée.

essayez !

Guy



Avatar
ASM

Bonjour ,
votre appendChild de tabl est mal placé; il faut qu'il soit avvant les
adjonctions de cel et rang


gna gna gna ! rien du tout ! il est très bien où il est !

Je doute que mon IE Mac s'y retrouve si on ne suit pas un ordre logique.


--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
Stephane Moriaux and his (less) old Mac already out of date

Avatar
ASM

essayez !


J'ai essayé les 2 avec IE Mac : aucune différence,
c'est immédiat dans les 2 cas.

On dira qu'il y a 2 écoles ?

--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé

Avatar
ASM

On dira qu'il y a 2 écoles ?


Essayé avec 150 rangées de 11 cellules :
- IE Mac = 7 secondes dans les 2 cas
- FF2 = moins de 2 secondes dans les 2 cas

fichier du test :

<html>
<SCRIPT type="text/javascript">
function tableau() {
var tablo = document.createElement('TABLE');
tablo.id = 'myTable';
tablo.border = 1;
tablo.width = '100%';
var tabl = document.createElement('TBODY');
// methode Guy :
tablo.appendChild(tabl);
for(var r=1; r<151; r++) {
var rang = document.createElement('TR');
for(var i=1; i<12; i++) {
var cel = document.createElement('TD');
cel.style.textAlign='center';
cel.bgColor = 'lightyellow';
cel.innerHTML = 'rang:'+r+' col:'+i;
//alert (cel.innerHTML );
rang.appendChild(cel);
}
tabl.appendChild(rang);
}
// methode Stéphane
// tablo.appendChild(tabl);
document.body.appendChild(tablo);
}
</SCRIPT>
<input type="button" value="ESSAI" name="montage" onClick="tableau()">
</html>

--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé

Avatar
Pierre Goiffon
ASM wrote:
Oh ! Dis ! Gars ! c'est du JavaScript pas du Jscript !

<SCRIPT LANGUAGE="JScript">


<script type="text/javascript">


:)

Ca me rappelle il y a quelques temps, je m'arrachais les cheveux, mes
CSS n'étaient pas appliquées... J'avais écris :

<style type="text/javascript">

Pan dans le bec


Avatar
Olivier Miakinen

for(var r=1; r<5; r++) {
var rang = document.createElement('TR');
tabl.appendChild(rang);
}
/* document.body.appendChild(tabl); */


Bonjour ,
votre appendChild de tabl est mal placé; il faut qu'il soit avvant les
adjonctions de cel et rang


Non, absolument pas. Bien au contraire même !

En le plaçant devant, ça forcerai alors la restitution de l'élément sur
la page (document reflow), ce qui provoquera à coup sûr des
ralentissements d'éxécution, et des erreurs de rendu graphique tant que
l'éxécution sera pas terminée.


En principe, ça ne devrait rien changer qu'il soit avant ou après, vu
que le navigateur n'est pas censé rafraîchir l'affichage tant qu'il
n'est pas « en attente » (page terminée, à l'exception éventuellement
de code retardé par setTimeout).

Mais j'avais constaté un bug d'Internet Explorer sur PC (je crois que
c'était en version 6.0) qui réaffichait en cours de route, causant en
effet des ralentissements.



Avatar
ASM
Ca me rappelle il y a quelques temps, je m'arrachais les cheveux, mes
CSS n'étaient pas appliquées... J'avais écris :

<style type="text/javascript">

Pan dans le bec


On doit tous s'être fait avoir,
depuis : c'est la 1ère chose qu'on regarde (des fois ...)
tant pour script que pour style

--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé

1 2 3