Javascript: ajouter des items à un paramètre "liste" en plusieurs fois ?
#1
Bonjour

j'espérais pouvoir ajouter des items dans un paramètre "liste" en plusieurs coups mais apparemment ce n'est pas possible si facilement ...

Dans un but de debug j'ai décomposé le problème plus simplement:
1) Créer un équipement universel, ajouter une variable "lst" de type LIST, ajouter une autre variable "ok" de type DOUBLE
2) Commande1:
Code :
lst = new Array();
lst[0] = new Array();
lst[0][0] = '0';
lst[0][1] = 'item 0';
ok = 1;
3) Commande2:
Code :
if (ok==1) {
    lst[1] = new Array();
    lst[1][0] = '1';
    lst[1][1] = 'item 1';
    ok = 2;
}
4) sauver l'équipement, placer un widget liste dans le DS pointant sur la variable lst. Placer un autre widget témoin pour la valeur de "ok".
5) lancer Commande1, la liste contient "item 0" et "ok" vaut 1
6) lancer Commande2, la liste aurait du contenir "item 1" mais ce n'est pas le cas. "ok" vaut cependant 2, prouvant qu'on est bien passé.

J'en conclus qu'on ne peut pas utiliser cette technique pour ajouter des items dans une liste existante ... Est-ce normal ou me planté-je quelque part ?
La seule solution que je vois est de passer par une 2e liste (ou plutot un VRAI array JS ?) temporaire dans laquelle je recopierais les items de "lst", puis j'efface "lst" (lst = new Array(); ), je recopie les items de la liste temporaire dans "lst" et j'ajoute les nouveaux items ... j'avais essayé mais vu que ca a eu l'air de planter tout le moteur JS de la LD et que pour m'en sortir j'ai du faire une restauration de sauvegarde j'ai un peu peur de recommencer :) (voir autre message à ce sujet) ...

Question subsidiaire:
ma variable "ok" est utilisée ici a des fins de debug mais en réalité si je retire le "if (ok==1)" de Commande2, je ne peux pas sauver mon équipement car LD considère à ce stade que "lst" n'est pas initialisée ... c'est assez frustrant car à chaque erreur JS au moment de la sauvegarde on perd tout ce qu'on a écrit comme code ... quel test efficace puis-je faire pour vérifier que "lst" a été initialisée (dans une autre partie de code) ?
www.osmotiq.com, domotique, développement logiciel et web -- tests & tutoriels KNX, Lifedomus, ZWave, etc.
Twitter: osmotiq
Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  Requête: pour un débugage plus efficace du code javascript tilleul 2 5,651 12-17-2014, 10:19 AM
Dernier message: Domo-TIC
  Moteur javascript de la LD planté ? tilleul 3 6,606 12-08-2014, 02:27 PM
Dernier message: laurent
  les variables javascript sont communes à tous les équipements d'un même connecteur ?? tilleul 5 9,449 04-03-2014, 08:24 AM
Dernier message: tilleul
  Javascript: les paramètres de type "list" sont non-persistants tilleul 2 5,260 02-25-2014, 07:31 PM
Dernier message: tilleul
  Javascript: bugs constatés tilleul 0 2,889 02-23-2014, 10:02 PM
Dernier message: tilleul
  Commande Javascript tilleul 6 9,296 02-19-2014, 01:36 PM
Dernier message: tilleul
  Problème de liste déroulante type de variable coyotus 2 5,551 02-17-2014, 06:40 PM
Dernier message: coyotus



Utilisateur(s) parcourant ce sujet : 1 visiteur(s)