|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||||||||
|
Invité de passage
![]() Inscription : juin 2011 Messages : 12 ![]() |
Bonjour
PREAMBULE J'ai fait l'acquisition de cartes IPX800 pour gérer mon éclairage, le portail, la ventilation, l'arrosage, etc.. Chacune des cartes a 8 relais commandables par IP au travers de la freebox. Les relais répondent à des commandes de type: newAJAXCommand('url de la carte/leds.cgi?led=i') Par exemple, une fonction ONCLICK Code :
onclick="newAJAXCommand('http://81.xx.xx.xxx:9025/leds.cgi?led=4') et donc la lampe correspondante s'allume Par ailleurs, les relais sont connectés à des boutons poussoirs (les interrupteurs de la maison), qui font également basculer les relais. L'états des relais sont enregistrés dans des fichier status.xml, hébergé par les cartes. Je récupère bien les états des relais avec les fonctions Code :
Code :
PROBLEME JAVASCRIPT Donc pour résumé, je sais commander les relais avec ONCLICK: newAJAXCommand('http://81.xx.xx.xxx:9025/leds.cgi?led=1') Et je connais l'état des relais au travers d'un ARRAY de type LED[i]= (0 ou 1) Je souhaiterai faire une interface sous forme d'un tableau, TABLE, ou chaque cellule prend le style correspondant à l'état du relais si LED[i]=1, la cellule n°i prend le style CSS on. si LED[i]=0 la cellule n°i prend le style CSS off. interface.jpg Code :
Code :
class="off ou on en fonction de LED[1] égale 0 ou 1" Peut-être faut-il faut faire une fonction à base de Code :
merci de votre aide |
||||||||||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 018 ![]() |
Code :
document.getElementById("LED").className =(LED[i]==1)? "on":"off";
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 12 ![]() |
merci
et ensuite je place le id comme ça?? Code :
<td id="LED" onclick="newAJAXCommand('http://81.xx.xx.xxx:9025/leds.cgi?led=4');">ENTREE</td> |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : mars 2009 Messages : 112 ![]() |
Bonjour,
personellement, j'utiliserais JQuery qui possède les ordres que tu recherches. puisque tout semble être en javascript, c'est ce qu'il y a de plus simple Tu génère ton table avec des id pour chaque led, par exemple, id="led01" .. et tu codes tes permutations d'état avec jquery Code :
$("#led01").removeClass("off").addClass("on"); |
|
|
00
|
|
|
#5 | |||
|
Membre habitué
![]() Inscription : mars 2009 Messages : 112 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Krusty Inscription : mai 2009 Messages : 472 ![]() |
pourquoi jquery ? sa le forcerait a tout refaire sans pour autant améliorer le résultat
__________________
programmer n'est pas connaitre tous les moindres détails d'un langage mais savoir exploiter sous toutes ses facettes ce que l'on connait. |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : mars 2009 Messages : 112 ![]() |
oui, ma réponse s'est juste croisée avec celle de spacefrog et j'étais plutôt passé par la génération de la page complète en javascript et jquery permet de simplifier et d'accélérer le codage pour ce genre de chose.
|
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : juin 2011 Messages : 12 ![]() |
Code :
|
||
|
|
00
|
|
|
#9 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 018 ![]() |
elle fait quoi au juste ta fonction ajax sur le retour ??
car c'est sur le retour qu'il faut appliquer le style
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : mars 2009 Messages : 112 ![]() |
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 12 ![]() |
pardon,
je viens de recevoir ma nouvelle freebox, il a fallu que je l'installe ![]() il se passe que ca n'affecte pas le style des cellules du tableau la fonction ajax bascule le relais, c'est tout Mais les états des relais sont enregistrés sur un fichier status.xml dont je me sers pour renseigner les variables d'état des relais LED[i] J'ai un petit script qui me permet de voir si ce tableau est bien renseigné, et ca fonctionne |
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Inscription : mars 2009 Messages : 112 ![]() |
Et ce petit script est sur la page du contrôleur ?
N'aurais tu pas un peu plus de détails ? Est-ce que tu n'appellerais pas la fonction de changement d'état un peu trop tôt ? (Avant que ton fichier status soit modifié) |
|
|
00
|
|
|
#13 | |||
|
Invité de passage
![]() Inscription : juin 2011 Messages : 12 ![]() |
Citation:
J'ai un petit script de test, qui montre que les status sont bien repris en LED[i] Code :
Je me demande s'il n'y a pas une confusion par rapport à "LED", qui est utilisé pour stocker les états avec LED[i] et pour renseigner l'ID de la classe |
|||
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 12 ![]() |
Code :
document.getElementById("LED"+i).className =(LED[i]==1)? "on":"off"; ![]() il manque pas des zigouigouis dans les coins ou sur les côtés? |
|
|
00
|
|
|
#15 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 018 ![]() |
Non la syntaxe est correcte
Pour moi la question est plutot d'ordre chronologique... A quel moment tentes tu d'attribuer les styles ... et a priori il faut un boucle ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#16 | ||
|
Invité de passage
![]() Inscription : juin 2011 Messages : 12 ![]() |
Voilà tout le code
C'est à la fin que ca se passe Code :
|
||
|
|
00
|
|
|
#17 |
|
Membre habitué
![]() Inscription : mars 2009 Messages : 112 ![]() |
Note que ton script se base sur LED[0] et id="LED1", ça devrait être id="LED0"
Attention si il n'y a pas d'id LEDx, le script va s'arrêter, en l'occurrence, il s'arrête dans la boucle à 0, car LED0 n'existe pas. |
|
|
00
|
|
|
#18 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 018 ![]() |
heu je ne vois pas de readystatus ?
je pense que ton style est attribué avant d'avoir le retour ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#19 | |||
|
Invité de passage
![]() Inscription : juin 2011 Messages : 12 ![]() |
Citation:
Citation:
alors que les pièces de 1 à 8 Citation:
|
|||
|
|
00
|
|
|
#20 | |||||
|
Invité de passage
![]() Inscription : juin 2011 Messages : 12 ![]() |
Citation:
LED[i] 0;7 Code :
Code :
Tu parles de l'ID LED0 ? je ne comprends pas |
|||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com