Menu déroulant > Multiples champs en lecture seule  (Lu 291 fois) Partager ce sujet Imprimer

1 B


jctremblay  10 mai 2021 : 15:14

J’ai une liste à menu déroulant avec plusieurs options, chacune des options lorsque sélectionnées active l’option Lecture seule de différents champs. Quelque chose qui ressemble à ça.


if (event.value == "Choix du menu 1") {
   this.getField("a").readonly = false;
   this.getField("b").readonly = false;
   this.getField("c").readonly = true;
   this.getField("d").readonly = false;
   this.getField("e").readonly = true;
   this.getField("f").readonly = true;
   this.getField("g").readonly = false;
   this.getField("h").readonly = true;
   this.getField("i").readonly = false;
   this.getField("j").readonly = true;
   this.getField("k").readonly = true;
   this.getField("l").readonly = false;
   this.getField("m").readonly = true;
   this.getField("n").readonly = false;

Avec une liste contenant plusieurs choix, ça devient rapidement pénible à configurer. Qu’elle serait la méthode utilisant des variables contenant des Arrays ?


IP archivée


bebarth  10 mai 2021 : 18:06

bonjour,
En début de script tu mets tous les champs en readonly=false et en valeur d'exportation tu indiques pour chaque élément une table avec uniquement les champs en lecture seule -> ["c","e","f","h","j","k","m"]... l'inverse est également possible !
@+
 :bonjour:

IP archivée


jctremblay  10 mai 2021 : 18:35

Il faudra donc utiliser une boucle pour extraire cette liste, et appliquer le readonly = false; pour chacun?

IP archivée


bebarth  10 mai 2021 : 18:52

S'il y a une suite logique des noms de champs tu peux faire une boucle, sinon tu crées une table avec le nom de tous les champs !
J'essaierai de te faire un exemple dans la soirée.
@+
 :bonjour:

IP archivée


bebarth  10 mai 2021 : 19:28

Voici l'exemple !
@+
 :bonjour:

IP archivée


jctremblay  10 mai 2021 : 19:39

Voici l'exemple !


La soirée est arrivé assez vite!  :jerisjaune:  C’est juste parfait encore une fois. Cela m’ouvre d’énormes possibilités. Merci!

IP archivée


Merlin  11 mai 2021 : 11:05

Ton script est d'une concision épatante !
 :bravo:

IP archivée


bebarth  11 mai 2021 : 12:06

Merci pour ce compliment !
Je pense qu'on est concis un fois que l'on a bien compris de quoi on parle, avant c'est normal d'être prolixe...  :geek:
@+
 :bonjour:

IP archivée