à l'aide c'est urgent

Résolu
OuntaMalek Messages postés 15 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 17 août 2009 - 11 avril 2009 à 21:46
OuntaMalek Messages postés 15 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 17 août 2009 - 12 avril 2009 à 14:42
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

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
12 avril 2009 à 09:53
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
3
OuntaMalek Messages postés 15 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 17 août 2009
12 avril 2009 à 10:33
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é.
0
OuntaMalek Messages postés 15 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 17 août 2009
12 avril 2009 à 13:23
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);
                }
               
               
            }
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
12 avril 2009 à 13:36
>>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 )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OuntaMalek Messages postés 15 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 17 août 2009
12 avril 2009 à 13:47
alors tu peux répondre à mon deuxième msg ou non?
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
12 avril 2009 à 14:15
bien que je sois en week-end....
          Number(tableau.rows[i].cells[j].value);
euh... fais un alert pour voir
( pas regardé le reste )
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
12 avril 2009 à 14:16
un td ( th ) n'a pas de value, un innreHTML tout au plus
0
OuntaMalek Messages postés 15 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 17 août 2009
12 avril 2009 à 14:42
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
0
Rejoignez-nous