Bonjour à tous,

Je voudrais changer la couleur d'une cellule après cochage au sommet de la colonne.

J'ai déclaré plusieurs tableaux 2 dimensions : un pour la couleur de la cellule et un pour la valeur de la cellule

J'ai déclaré un tableau 1 dimension pour la valeur de la case à cocher de la colonne (bien que ce ne soit pas nécessaire)

Firebug me dit que ma variable analyse[s] n'est pas définie, pourtant, je l'ai affichée précédemment.

Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
function griseChamp(s)
{
    var i,j;
    var nbLignes1,nbLignes2,nbLignes3,nbLignes4,nbLignes5;
    var nbCols1,nbCols2,nbCols3,nbCols4,nbCols5;
    var couleurFond=document.getElementsByTagName("thead")[0].getAttribute("bgcolor");
if(document.getElementById("tbFAJ1")===null)
    {
        nbLignes1=0;
    }
    else
    {
        nbLignes1=document.getElementById("tbFAJ1").getElementsByTagName("tr").length;
    }
 
// Déclaration du tableau 1 dimension analyse[i]
    var analyse=new Array();
    analyse = document.getElementById("analyse["+s+"]").checked;
    alert(analyse[s]); // Affiche false
 
    // Déclaration du tableau à 2 dimensions mesure[j][i]
    var couleur=new Array();
    var casacocher=new Array();
    for(j=0;j<nbLignes1;j++)
    {    
        couleur[j]=new Array();
        casacocher[j]=new Array();
 
        couleur[j][s]=document.getElementById("mesure["+j+"]["+s+"]").getAttribute("bgColor");
        casacocher[j][s]=document.getElementById("mesure["+j+"]["+s+"]").textContent;
 
        //alert("couleur["+j+"]["+s+"] : "+couleur[j][s]);
        //alert("casacocher["+j+"]["+s+"] : "+casacocher[j][s]);
    }
 
    // Modification dynamique de la valeur de la case à cocher
    if(analyse[s].checked)
    {
        analyse[s]=document.getElementById("analyse["+s+"]").setAttribute("value","on");
        alert(analyse[s]);
    }
    else
    {
        analyse[s]=document.getElementById("analyse["+s+"]").setAttribute("value","");
        alert(analyse[s]);
    }
 
 
 
 
 
    // Modification dynamique de la couleur de fond de la colonne
    for(j=0;j<nbLignes1;j++)
    {
        // if 1
        if(analyse[s]==="on" && casacocher[j][s]==="on")
        {
            // Couleur de la cellule
            document.getElementById("mesure["+j+"]["+s+"]").setAttribute("bgColor",couleurFond);
            //alert(analyse[s]);
            alert("If 1");
        }
 
        // if 2
        else if(analyse[s]==="on" && casacocher[j][s]==="")
        {
            document.getElementById("mesure["+j+"]["+s+"]").setAttribute("bgColor","#909090");
            alert("If 2");
        }
 
        // if 3
        else if(analyse[s]==="" && casacocher[j][s]===""  || analyse[s]==="" && casacocher[j][s]==="on")
        {
            document.getElementById("mesure["+j+"]["+s+"]").setAttribute("bgColor","#909090");
            alert("If 3");
            //alert(analyse[s]);
        }
 
        // Erreur
        else
        {
            //alert("Erreur !!!");
        }
    }
}