Copies de champs accessibles en JavaScript  (Lu 22 fois) Partager ce sujet Imprimer

1 B


achem91  30 juin 2020 : 07:54

Bonjour,


J'ai dupliqué un champ qui s'appelle ValeurAction à l'aide de la commande "Créer plusieurs copies" dans le menu contextuel du champ.
J'ai donc plusieurs champs qui s'appellent "ValeurAction.n"  (n variant de 1 à 10)

Comment est ce que je peux accéder à ces champs individuellement en JavaScript, par exemple pour modifier leur valeur ?

Merci

IP archivée


bebarth  30 juin 2020 : 09:09

bonjour,
Le nom de chaque champ a été modifié et il faut donc le rappelé tel quel this.getField("ValeurAction.n").value.
@+
 :bonjour:

IP archivée


achem91  30 juin 2020 : 09:19

bonjour,
Le nom de chaque champ a été modifié et il faut donc le rappelé tel quel this.getField("ValeurAction.n").value.
@+
 :bonjour:


Ok merci, je pensais qu'il y avais un moyen plus simple pour accéder à l'ensemble de cette collection, mais je vais faire une boucle pour traiter tous mes champs.

IP archivée


bebarth  30 juin 2020 : 10:12

Ça dépend ce que tu veux faire.
Si tu veux par exemple indiquer la même valeur pour tous ces champs, il ne faut pas mettre l'indice : this.getField("ValeurAction").value="AZERTYUIOP";
Si tu veux indiquer une valeur uniquement à un de ces champs, tu écris l'indice this.getField("ValeurAction.n").value="POIUYTREZA";
@+
 :bonjour:

IP archivée


Merlin  30 juin 2020 : 11:53

Bonjour

je vais faire une boucle pour traiter tous mes champs.
C'est inutile, pour modifier un groupe il suffit de s'adresser au champ "parent", qui n'existe que virtuellement mais il existe.


Ainsi dans ton cas par exemple :
this.getField("ValeurAction").readonly = false;   


C'est la même chose que :
for (var i = 1; i < 11; i++) {
   this.getField("ValeurAction." + i).readonly  = false;
}


Attention au point, c'est pour ça que je l'ai mis en rouge.

IP archivée