Prolème Masquage/Affichage

daan53 Messages postés 21 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 12 juillet 2007 - 9 juil. 2007 à 23:17
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 10 juil. 2007 à 17:51
Bonjour,
Je débutte en JavaScript, et j'ai fait un script long et répétitif qui ne sert que à afficher et cacher.

Le but est de cacher/afficher des élements en fonction d'un menu déroulant.
Tout marchait apriori, mais il y a un bug.
La moitiée des éléments du menu déroulant.
"Action", "Execute A File", "Movement", "Other", "Como Message" marchent, mais les autres ne marchent pas correctment pour la fonction cacher (afficher marche).
J'ai testé le script sous Safari et FireFox, mais cela ne change rien, donc le brobleme vient bien de mon code source Javascript:Insert_Emoticon('/imgs2/smile_sad.gif');

Vous pouvez voir le script en entier dans le code source de mon site : http://www.daan.xn-host.com/ak4_user-ini/user-ini.php

Merci de m'aider, je suis desespéré.

1 réponse

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
10 juil. 2007 à 17:51
B
onjour...
A la lecture de ton script il n'y a pas moins de 11 document.getElementById(number + "-none") sans qu'aucun DIV avec un ID = "xxxxxxx-none" ne soit déclaré.
Supprime dans ton code toutes ces références, qui ne servent pas.

Nota :
Pour  être plus efficace il est préférable, compte tenu que tu fais toujours référence au mêmes objets, de ne les récupérer qu'un fois en début de fonction changement
par exemple :
function changement (number, selectName) {
var valeur = document.getElementById(selectName).value;

var Osd_Comm    = document.getElementById(number + "-commo").style.display;
var Osd_Action  = document.getElementById(number + "-action").style.display;
var Osd_Execute = document.getElementById(number + "-execute").style.display;
...etc...
puis à les utilser dans tes if
if (valeur == 'none') {
  var Osd_Comm    = 'none';
  var Osd_Action  = 'none';
  var Osd_Execute = 'none';
...etc ...
}
else if (valeur == 'action') {
...la suite...

C'est plus facile à lire et à maintenir...
;0)
0
Rejoignez-nous