Rechercher : dans
Par :

Changer la couleur d'une td en javascript

Dernière réponse le 29 sep 2008 à 19:47:15 arkangedevil, le 28 sep 2008 à 23:30:51 
 Signaler ce message aux modérateurs

Bonjour,

bonjour, j'ai un tableau de case (td) avec un bgcolor red, lorsque je fais appel à la fonction suivante la case devient bleu... j'aimerais qu'elle passe au vert mais elle n'entre pas dans la condition et je ne comprends pas pourquoi, si qqn pouvait m'aide merci d'avant..

function ActionCase(i){

if(document.getElementById("td"+i).style.bgColor=='red'){
document.getElementById("td"+i).setAttribute("bgColor",'green');
}
else {
document.getElementById("td"+i).setAttribute("bgColor",'blue');
}
}

Configuration: Windows XP
Firefox 3.0.3

Meilleures réponses pour « Changer la couleur d'une td en javascript » dans :
Changer l'aspect du curseur en CSS VoirLa propriété cursor permet de changer l'aspect du curseur sur un élément d'une page web. Le client affichera automatiquement le curseur de son ordinateur qui correspond au type de curseur que vous aurez choisi. Exemples Liste des attributs...
Changer de fond d'écran VoirPour Windows XP et versions antérieures Pour Windows Vista Obtenir des fonds d'écran Solution plus rapide Comment changer l'arrière-plan du Bureau ? Un fond d'écran est une image utilisée en arrière-plan de votre bureau. Lors d'une...
CSS - Les couleurs VoirLes couleurs Le standard CSS propose différentes façons de définir des couleurs : par un nom avec la notation hexadécimale avec la notation décimale Appel d'une couleur par son nom Le langage HTML définit des noms pour un nombre limité de...

1

donuts08, le 28 sep 2008 à 23:37:19

Bonjour,

fais un petit message pour voir la valeur:


function ActionCase(i){
alert("la valeur est "+document.getElementById("td"+i).style.bgColor);
if(document.getElementById("td"+i).style.bgColor=='red'){
document.getElementById("td"+i).setAttribute("bgColor",'green');
}
else {
document.getElementById("td"+i).setAttribute("bgColor",'blue');
}
}

c'est peut-être ça la valeur: #FF0000

Répondre à donuts08

2

arkangedevil, le 28 sep 2008 à 23:54:05

Merci déjà ça me relève une erreur car il me dit que la valeur n'est pas défini ... j'ai rajouté un cas pour quand la valeur est pas défini afin de la mettre à black

else {
document.getElementById("td"+i).setAttribute("bgColor",'black');

}

mais même quand je reviens dessus il continu de dire que la valeur n'est pas défini ..

Répondre à arkangedevil

3

donuts08, le 28 sep 2008 à 23:55:56

Après je ne peux rien faire sans le reste du code...

Répondre à donuts08

4

arkangedevil, le 28 sep 2008 à 23:58:23

Si ça peut aider voilà la ligne qui va créer mes td

echo "<td onClick='ActionCase(".$this->cpt.");' bgColor='red' id='td".$this->cpt."'></td>";

cpt est une variable que j'incremente de 1 à chaque fois... l'affichage est bon ainsi que l'appel de la fonction.

Répondre à arkangedevil

5

donuts08, le 29 sep 2008 à 00:06:01

Ok,

parcontre l'erreur concerne quelle valeur? si tu mets document.getElementById('td1') il dit que ça existe ou pas?

d'habitude je mets: document.getElementById('td1').style['bgColor'] mais je sais qu'il y a plusieurs manières de faire (vive le javascript ^^)

Répondre à donuts08

6

arkangedevil, le 29 sep 2008 à 00:14:22

J'ai essayé avec td1 ... td2 ... td3 je tombe sur le même résultat, de même avec style['bgColor'].

A la place de la condition document.getElementById("td"+i).style.bgColor=='red' j'ai mis une condition avec une variable et tout marche bien, le changement de couleur etc... mais quand j'me retrouve avec plusieurs case à gérer ça pose problème les variables, pour ça que je voulais utiliser cette méthode du style.bgColor ... mais c'est pas un succès pour le moment !

Répondre à arkangedevil

7

donuts08, le 29 sep 2008 à 00:38:45

Oui je comprends l'erreur:

si tu fais ça:

alert(document.getElementById('td1'));

ça te mets NULL ou alors ça te met rien c'est ça?

Répondre à donuts08

8

arkangedevil, le 29 sep 2008 à 00:58:42

ça me marque ça

[object HTMLTableCellElement]

Répondre à arkangedevil

9

donuts08, le 29 sep 2008 à 01:13:36

Il faut tester par étape

si tu rajoute .style ça te marque quoi?

Répondre à donuts08

10

arkangedevil, le 29 sep 2008 à 18:54:45

Merci pour l'aide en tout cas, je suis finalement tombé sur le problème, quand on fait setAttribute("bgColor", ce n'est pas la même chose que de dire style.backgroundColor=... donc style.bgColor valai rien. Il faut donc dans mon cas utiliser style.backgroundColor=couleur plutôt que setAttribute.

Répondre à arkangedevil

11

 donuts08, le 29 sep 2008 à 19:47:15

Ah?

et est-ce que ça fonctionne avec tous les navigateurs?

Répondre à donuts08
Collection CommentÇaMarche.net