Bonjour,
je suis débutant et je travaille sur un tableau dynamique ou on ajoute des lignes/ des colonnes. le problème c'est que je dois calculer deux moyenne à la fin à partir de mon tableau.
Voici le code, tt marche bien sauf la fonction calcule biensur, je ne sais pas comment procéder, ni commet acceder à un un élt du tableau
<html>
<head>
<script>
var autoid=2; //sera incrémenté à chaque fois que ajouter_ligne() est exécutée
var nb_col=1; //sera incrémenté à chaque fois que ajouter_col() est exécutée
function calcule1()
{
for(var i=0; i<(autoid-1); i++){ //C DU N IMPORTE QUOI
var m1=0;
for(var j=0; j<(nb_col); j++)
{
m1+= (Number(document.getElementById('tab').elements[i*(nb_col-1)+j].value));
}
(document.getElementById('tabMoyEtu').elements[1].value) = (m1)/(nb_col-1);
}
} function ajouter_ligne(){
nom_etudiant=prompt("Saisir le nom de l'étudiant");
newrow = document.getElementById('tab').insertRow(-1);
newrow.setAttribute("id",autoid); //je donne à chaque nouvelle ligne un id différent
for(var j=0; j<nb_col; j++) //j'insère des cellules autant de fois qu'il y a de colonne
{
if(j==0)//je mets le nom de l'étudiant ds la première cellule de chaque ligne
{
newcell=newrow.insertCell(0);
newcell.innerHTML='<p><strong>'+nom_etudiant+'</strong><p>';
}
else
{
newcell=newrow.insertCell(-1);
newcell.innerHTML='<input type="text" ONCHANGE="calcule1()" size=5>';
}
}
autoid++;
//je mets à jour le tableau des moyennes étudiants
newrow = document.getElementById('tabMoyEtu').insertRow(-1);
newrow.insertCell(0).innerHTML='<p><strong>
la moyenne générale de '+nom_etudiant+'</strong><p>';
newrow.insertCell(1).innerHTML='<input type="text" readonly="readonly" size=5>';
}
function ajouter_col()
{
nb_col++;
nom_matiere=prompt("Saisir l'intitulé de la matière");
//je mets à jour le tableau des moyennes Matières
newrow = document.getElementById('tabMatMoy').insertRow(-1);
newrow.insertCell(0).innerHTML='<p><strong>
la moyenne de la classe en +nom_matiere+'</strong><p>';
newrow.insertCell(1).innerHTML='<input type="text" readonly="readonly" size=5>';
for(var i=1; i<=autoid; i++)//j'insère des cellules autant de fois qu'il y a de lignes
{
newcell=document.getElementById(i).insertCell(-1);
if(i==1)//je mets l'intitulé de la matière ds la première cellule de chaque colonne
{
newcell.innerHTML='<p><strong>'+nom_matiere+'</strong><p>';
}
else
{
newcell.innerHTML='<input type="text" ONCHANGE="calcule1()" size=5>';
}
}
}
</script>
</head>
<body>
<table id=tab border=1 ALIGN=center><tr id=1><td></td></tr></table>
<br/><br/><br/>
<table id=tabMoyEtu></table>
<br/><br/><br/><br/><br/>
<table id=tabMatMoy></table><br/><br/><br/>
<input type="button" value="ajouter matière" onclick = "ajouter_col();">
<input type="button" value="ajouter étudiant" onclick = "ajouter_ligne();">
</body>
</html>