Ma fonction ne se lance pas

Résolu
LAngelus91 Messages postés 12 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 11 avril 2013 - 22 sept. 2011 à 15:28
LAngelus91 Messages postés 12 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 11 avril 2013 - 22 sept. 2011 à 18:31
Bonjour tous le monde et merci d'avance pour vos réponses...

Voilà mon souci:

<script language="javascript">
<!--
function changeColor(name) {
alert("test ok");
if ( document.getElementsByName(name).value == "SITUATION X" ) {
document.getElementsByName(name).style.background-color:#b00000;
} else if ( document.getElementsByName(name).value == "SITUATION Y" ) {
document.getElementsByName(name).style.background-color:#000000;
document.getElementsByName(name).style.color:#ffffff;
} else {
document.getElementsByName(name).style.background-color:#ffffff;
document.getElementsByName(name).style.color:#000000;
}
}
//-->
</script>

[...]

<select id="situation_<?php echo $pers->id; ?>" name="situation_<?php echo $pers->id; ?>" onChange="changeColor(this.name);">
<?php foreach ($this->situation as $sit) :
echo '<option value="'.$sit->situation.'"';
if ($sit->situation==$pers->situation){
echo ' selected="selected"';
}
echo '>'.$sit->situation.'</option>';
endforeach; ?>
</select>



La fonction ne se lance pas! et quand je remplace onChange="changeColor(this.name);" par onChange="alert('testok');changeColor(this.name);" l'alerte fonctionne donc ça doit être dans ma fonction... mais où?
Je doit oublier un truc mais je ne vois pas quoi...

Merci de votre aide.

5 réponses

galled Messages postés 41 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 13 décembre 2012
22 sept. 2011 à 16:36
Ta fonctionne ne se lançait pas parce qu'il y avait des erreurs dedans.

Pour ce que ça doit faire ça je peux difficilement t'aider tu le sais plus que moi :)

C'est peut-être au niveau des paramètres que tu passe qui n'est pas bon.

Tu peux toujours utilisé la console de debug avec firefox ou chrome

Tu peux regarder ce lien pour comprendre comment ça fonctionne.

http://asymptomatic.net/2007/08/22/2643/debugging-javascript-in-firefox-with-firebug-and-breakpoints

Ça pourrait t'aider à trouver l'erreur.
3
LAngelus91 Messages postés 12 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 11 avril 2013
22 sept. 2011 à 18:31
	function changeColor(myId) {
var myElement = document.getElementById(myId);
var myIndex = myElement.selectedIndex;
var myValue = myElement.options[myIndex].value;
if( myValue == "ABSENCE A REGULARISER" ) {
myElement.style.backgroundColor  = "#b00000";
myElement.style.color = "#000000";
}else if( myValue == "DESERTION" ) {
myElement.style.backgroundColor  = "#000000";
myElement.style.color = "#ffffff";
}else {
myElement.style.backgroundColor  = "#ffffff";
myElement.style.color = "#000000";
}
}


Comme ça, ça fonctionne, et c'est plus propre! Voilà pour les prochains :)
3
galled Messages postés 41 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 13 décembre 2012
22 sept. 2011 à 15:47
	function changeColor(name) {
alert("test ok");
if ( document.getElementsByName(name).value == "SITUATION X" ) {
document.getElementsByName(name).style.backgroundColor  = "#b00000";
} else if ( document.getElementsByName(name).value == "SITUATION Y" ) {
document.getElementsByName(name).style.backgroundColor = "#000000";
document.getElementsByName(name).style.color = "#ffffff";
} else {
document.getElementsByName(name).style.backgroundColor = "#ffffff";
document.getElementsByName(name).style.color = "#000000";
}
}


Ceci devrait fonctionner.
0
LAngelus91 Messages postés 12 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 11 avril 2013
22 sept. 2011 à 16:04
Merci galled!

L'alerte fonctionne donc la fonction se lance bien mais pas le reste...
Je doit avoir un problème de syntaxe pour le changement de style.
0

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

Posez votre question
LAngelus91 Messages postés 12 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 11 avril 2013
22 sept. 2011 à 17:16
Ok d'accord à moi de jouer!

Merci Galled!
0
Rejoignez-nous