à l'aide c'est urgent

[Résolu]
Signaler
Messages postés
15
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
17 août 2009
-
Messages postés
15
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
17 août 2009
-
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=' '+nom_etudiant+' ';
                }
                else
                {
                    newcell =newrow.insertCell(-1);
                    newcell.innerHTML= '';
                }
               
            }
            autoid++;
           
            //je mets à jour le tableau des moyennes étudiants
            newrow = document.getElementById('tabMoyEtu').insertRow(-1);
            newrow.insertCell(0).innerHTML=' la moyenne générale de '+nom_etudiant+'';
            newrow.insertCell(1).innerHTML ='';
           
        }
        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=' la moyenne de la classe en +nom_matiere+'';
            newrow.insertCell(1).innerHTML ='';
           
            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=' '+nom_matiere+' ';
                }
                else
                {
                    newcell.innerHTML ='';
                }
            }
       
                   
        }
        </script>
       

    </head>
   
       

       

       

       

       

       
       
       
   
</html>

8 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
Bonjour,

urgent.. urgent ? pourquoi ?
t'es viré si tu ne répond pas dans l'heure ?
le plus simple si c'est le cas : appelle une société ou un
   indépendant, ils te feront cela dans les délais
   ( si tu veux des coordonnées, j'ai ai, et des raisonnables
     au niveau coût )

je viens d'ailleurs d'adhérer au CAMU cher à notre ami petoleTeam
dont il en est le secrétaire général.
le Comité Anti Mot Urgent, dont le président ( albert )
dit que c'est la peste, selon petoleTeam !

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
bah... et tableau.rows.length ? et tableau.rows[ligne].cells.length ?

ensuite ? tu veux faire la moyenne pour un élève ?
                  c'est le cumul de la ligne / nbr colonnes où il y a des notes
             tu veux faire la moyenne générale ?
                 c'est le cumul des moyennes / nbr élèves ( par exemple )

à propos, il te manque déjà des "
     <table id="tab" border="1" ALIGN="center">....    pas regardé plus

Cordialement [mon Site] [M'écrire] Bul
Messages postés
15
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
17 août 2009

Merci comme je suis débutant, je ne connais pas encore ttes fonctionnalités.
En ce qui concerne "Urgent" c'est parce que je travaille sur un projet que je dois rendre ce mardi c'est tt. je suis vraiment désolé.
Messages postés
15
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
17 août 2009

RE BONJOUR

Est ce que tu peux me dire comment faire pour récupérer la valeur saisie ds la zone de texte stp?

voila ce que j'ai fait:

function calcule1()
            {   
           
                tableau=document.getElementById('tab');
                for(var i=1; i<tableau.rows.length; i++){
                    var m1=0;
                    for(var j=1; j<tableau.rows[1].cells.length; j++)   
                    {
                        m1+= Number(tableau.rows[i].cells[j].value);
                    }
                    document.getElementById('tabMoyEtu').rows[i-1].cells[1].value = (m1)/(tableau.rows[1].cells.length-1);
                }
               
               
            }
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>je dois rendre ce mardi c'est tt
vaudrait mieux oublier... il est trottoir
c'est le week-end armand.... ( ou pascal ? je ne sais pas )
Messages postés
15
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
17 août 2009

alors tu peux répondre à mon deuxième msg ou non?
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
bien que je sois en week-end....
          Number(tableau.rows[i].cells[j].value);
euh... fais un alert pour voir
( pas regardé le reste )
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
un td ( th ) n'a pas de value, un innreHTML tout au plus
Messages postés
15
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
17 août 2009

le tableau.rows[i].cells[j].value me dit undefined mais c'est bon j'ai mis les tables ds des forms et j'ai fait forms[n°].elements[n°].value et ça marche nickel

Merci et très bonne fin de journée