PB tout con en javascript
jasi
-
jasi Messages postés 1 Statut Membre -
jasi Messages postés 1 Statut Membre -
Bonjour,
alors voila, j'ai un pb avec un tout petit bout de code ai j'aurai besoin d'un coup de main....
Je veux pouvoir changer la couleur des cases d'un tableau en cliquant dans ces cases, je veux passer du vert pale (VP) au (vert foncé (VF) et du jaune pale (JP) au jaune foncé (JF) mais ca ne marche pas, tout passe en jaune foncé...
Voici le bout de code :
function DetectColor(){
var JP = "#FFFFCC", JF="#FFFF99", VP = "#CCFFCC", VF="#33CC00";
var couleur;
source=event.srcElement;
if (source.tagName == "TR" || source.tagName == "TABLE") return;
while(source.tagName != "TD") source = source.parentElement;
couleur = source.style.backgroundColor;
if ( couleur != JP )
source.style.backgroundColor = JF;
else
if ( couleur != VP )
source.style.backgroundColor = VF;
}
et l'appel de la fonction (sur un tableau tout bete):
<table width="18%" height="49" border="1" cellspacing="0" bordercolor="#000000" onClick="DetectColor()">
Une idée de la cause du pb ?
Pour moi c'est le != qui est interprété mais pas le ==
Mais je débute alors....
Merci ;-))
alors voila, j'ai un pb avec un tout petit bout de code ai j'aurai besoin d'un coup de main....
Je veux pouvoir changer la couleur des cases d'un tableau en cliquant dans ces cases, je veux passer du vert pale (VP) au (vert foncé (VF) et du jaune pale (JP) au jaune foncé (JF) mais ca ne marche pas, tout passe en jaune foncé...
Voici le bout de code :
function DetectColor(){
var JP = "#FFFFCC", JF="#FFFF99", VP = "#CCFFCC", VF="#33CC00";
var couleur;
source=event.srcElement;
if (source.tagName == "TR" || source.tagName == "TABLE") return;
while(source.tagName != "TD") source = source.parentElement;
couleur = source.style.backgroundColor;
if ( couleur != JP )
source.style.backgroundColor = JF;
else
if ( couleur != VP )
source.style.backgroundColor = VF;
}
et l'appel de la fonction (sur un tableau tout bete):
<table width="18%" height="49" border="1" cellspacing="0" bordercolor="#000000" onClick="DetectColor()">
Une idée de la cause du pb ?
Pour moi c'est le != qui est interprété mais pas le ==
Mais je débute alors....
Merci ;-))
1 réponse
Petit exemple dont tu peux t'inspirer :
<HTML>
<HEAD>
<SCRIPT>
function DetectColor(){
var JP = "#ffffcc", JF="#ffff00", VP = "#ccffcc", VF="#33cc00";
var couleur;
source=event.srcElement;
if (source.tagName == "TR" || source.tagName == "TABLE") return;
while(source.tagName != "TD") source = source.parentElement;
couleur = source.style.backgroundColor;
window.status = "couleur"+" = '"+couleur+"'" ;
if ( couleur == JP ) source.style.backgroundColor = JF ;
if ( couleur == JF ) source.style.backgroundColor = JP ;
if ( couleur == VP ) source.style.backgroundColor = VF ;
if ( couleur == VF ) source.style.backgroundColor = VP ;
}
</SCRIPT>
</HEAD>
<BODY>
var JP = "#ffffcc", JF="#ffff00", VP = "#ccffcc", VF="#33cc00";<BR>
<BR>
<table width="18%" height="49" border="1" cellspacing="0"
bordercolor="#000000" onClick="DetectColor()">
<TR><TD STYLE="background-color:#FFFFCC";> xxx </TD>
<TD STYLE="background-color:#FFFF00";> xxx </TD>
<TD STYLE="background-color:#CCFFCC";> xxx </TD>
<TD STYLE="background-color:#33CC00";> xxx </TD></TR>
<TR><TD STYLE="background-color:#FFFFCC";> xxx </TD>
<TD STYLE="background-color:#FFFF00";> xxx </TD>
<TD STYLE="background-color:#CCFFCC";> xxx </TD>
<TD STYLE="background-color:#33CC00";> xxx </TD></TR>
<TR><TD STYLE="background-color:green";> xxx </TD>
<TD STYLE="background-color:red";> xxx </TD>
<TD STYLE="background-color:blue";> xxx </TD>
<TD STYLE="background-color:orange";> xxx </TD></TR>
</TABLE>
</BODY>
</HTML>
Commentaires sur ton script :
- les couleurs, affectées par "BGCOLOR=" ne sont pas reconnues (couleur = '' (vide)), donc != JP -> JF),
- les valeurs restituées (cf status) sont en minuscules
- le test est mal programmé :
!= JP concerne JF,VP,VF --> JF
== JP : != VP --> VF
<HTML>
<HEAD>
<SCRIPT>
function DetectColor(){
var JP = "#ffffcc", JF="#ffff00", VP = "#ccffcc", VF="#33cc00";
var couleur;
source=event.srcElement;
if (source.tagName == "TR" || source.tagName == "TABLE") return;
while(source.tagName != "TD") source = source.parentElement;
couleur = source.style.backgroundColor;
window.status = "couleur"+" = '"+couleur+"'" ;
if ( couleur == JP ) source.style.backgroundColor = JF ;
if ( couleur == JF ) source.style.backgroundColor = JP ;
if ( couleur == VP ) source.style.backgroundColor = VF ;
if ( couleur == VF ) source.style.backgroundColor = VP ;
}
</SCRIPT>
</HEAD>
<BODY>
var JP = "#ffffcc", JF="#ffff00", VP = "#ccffcc", VF="#33cc00";<BR>
<BR>
<table width="18%" height="49" border="1" cellspacing="0"
bordercolor="#000000" onClick="DetectColor()">
<TR><TD STYLE="background-color:#FFFFCC";> xxx </TD>
<TD STYLE="background-color:#FFFF00";> xxx </TD>
<TD STYLE="background-color:#CCFFCC";> xxx </TD>
<TD STYLE="background-color:#33CC00";> xxx </TD></TR>
<TR><TD STYLE="background-color:#FFFFCC";> xxx </TD>
<TD STYLE="background-color:#FFFF00";> xxx </TD>
<TD STYLE="background-color:#CCFFCC";> xxx </TD>
<TD STYLE="background-color:#33CC00";> xxx </TD></TR>
<TR><TD STYLE="background-color:green";> xxx </TD>
<TD STYLE="background-color:red";> xxx </TD>
<TD STYLE="background-color:blue";> xxx </TD>
<TD STYLE="background-color:orange";> xxx </TD></TR>
</TABLE>
</BODY>
</HTML>
Commentaires sur ton script :
- les couleurs, affectées par "BGCOLOR=" ne sont pas reconnues (couleur = '' (vide)), donc != JP -> JF),
- les valeurs restituées (cf status) sont en minuscules
- le test est mal programmé :
!= JP concerne JF,VP,VF --> JF
== JP : != VP --> VF
;-))