Page 1 sur 1
[Débutant] Les Options...
Publié : 23 déc. 2004, 15:21
par nicoprog
Je suis en train de créer une extension (ma première), pour l'instant pas trop de problème (ou du moin je les résoud

), mais là j'ai un problème dont je n'ai aucune idée de la manière de le résoudre
J'ai un bouton dans l'interface de Firefox (overlay) qui doit agir en fonction des options (un fichier XUL séparé)
Les options sont constituées de checkbox avec des ID.
Dans la fonction appelée quand le bouton est pressé j'ai pensé a mettre document.getElementById('IDducheckbox').checked pour récupérer l'état du checkbox, mais malheureusement ça ne marche pas

(has no properties)
J'aimerai donc avoir votre avis pour que je puisse résoudre ce problème

Publié : 23 déc. 2004, 19:22
par Benoit
Tu as essayé d'utiliser l'inspecteur DOM pour afficher toutes les propriétés et méthodes de ton élément ?
Publié : 23 déc. 2004, 21:51
par nicoprog
Voici comment je pensais faire :
Dans les options des checkbox avec persist="checked" pour tout sauvegarder automatiquement, et le bouton (overlay dans l'interface de Firefox) va chercher l'info avec document.getElementById, mais voila le problème :
Le bouton n'arrive pas à acceder aux valeur des checkbox
J'ai fait quelques test avec une fonctiondu genre :
alert('fonction appelée'); // Pour être sur que la fonction est bien appelée
alert(getElementById('...').checked);
Si cette fonction est déclanchée par un bouton des options, tout ce passe bien, mais si la fonction est appelée par le bouton (overlay), je ne vois que le premier alert de controle, meme si la fenetre des options est ouverte.
(La fonction étant placée dans un fichier externe commun aux deux fichier XUL)
J'aimerai donc savoir si ma méthode est bonne, si oui comment récupérer l'état des checkbox par le bouton en overlay, si non quelle autre technique me permetterai d'arriver au résultat

Publié : 23 déc. 2004, 22:16
par pcdingo
Ba le pb c'est que document. etc c va aller chercher dans ta fenêtre du navigateur et toi tu veux ce qu'il y a dans la fenêtres des options donc ça va pas trop aller.
Faudrait récupérer la fenêtre par son ID puis aller chercher ce qu'il y a dedans donc du genre
Code : Tout sélectionner
document.getElementById("idfenetre").getElementbyId(id de ton checkbox)...
Publié : 23 déc. 2004, 22:23
par nicoprog
je test ça tout de suite
EDIT: Non ça ne marche pas :/
EDIT2: Je n'utilise pas le balise window, mais la balise dialog
Publié : 23 déc. 2004, 23:28
par pcdingo
Me semble que ça devrait marcher et comment tu veux dire quoi par ça :
Code : Tout sélectionner
EDIT2: Je n'utilise pas le balise window, mais la balise dialog
Tu ouvres les options avec un openDialog? dans ce cas tu peux facilement atteindre la fenêtre parente (opener) mais le pb c'est que si tu passes par extensions puis Options là ça marchera pas.
Faut à tout prix que le bouton change après la fermeture des options ? ça ne pourrait pas être qq chose qui se déclenche après en fonction des options?
Publié : 24 déc. 2004, 07:20
par nicoprog
Les options sont accessibles depuis extenstions > mon extensions > options et j'ai utilisé un dialog pour avoir les boutons Ok et Annuler en bas
Tout ce que je veux faire c'est que l'action du bouton soit modifiable via les options.
En gros dans le fichier script fait doit faire :
if(option1est activée) { faire plein de choses }
else { faire autre choses }
...
Je ne veux pas forcement y arriver avec document.getElementById, c'etait juste la première idée qui m'était venue a l'esprit mais apparement ce n'est pas possible, si vous avez une autre méthode pour arriver a ce que je veux faire, je suis preneur
