Cocher une checkbox en fonction d'autres checkboxes  (Lu 158 fois) Partager ce sujet Imprimer

1 B


guiguiking74  04 janvier 2021 : 11:50

Bonjour à tous, et bonne année !


Je suis en train de mettre en forme un formulaire pour un client, mais étant débutant en JS, je bute sur un problème :mur:


Il y a trois sets de Checkboxes (CB1, CB2, CBFINAL pour simplifier).
CB1 possède 4 instances (A, B, C et D)
CB2 possède lui aussi 4 instances (A, B, C et D)
CB3 reprend les instances de CB1 et CB2 (donc A, B, C et D)

CB1 correspond à une catégorie à laquelle appartient l'utilisateur. CB2 lui permet de changer de catégorie. CB3 reprend son choix final.

Mon problème est le suivant :
CB3 doit afficher le résultat de CB1 si CB2 n'est pas coché et celui de CB2 si un choix de CB2 est coché.

En gros, je me doute que la logique doit être du genre :

if (CB2 is checked = get CB2 value = get CB3 checkthisbox CB2 value
else et CB1 value = get CB3 checkthisbox CB1 value


Etant débutant en JS, je n'arrive pas à trouver un moyen de mettre en forme tout cela.

Quelqu'un pourrait m'aider?

Merci par avance pour votre aide précieuse

IP archivée


bebarth  04 janvier 2021 : 13:06

bonjour & Bonne Année,
Il y a plusieurs choses que je ne comprends pas.
...
CB1 possède 4 instances (A, B, C et D)
...
Que veux-tu dire ? Une case à cocher n'a qu'une valeur ! Ne serait-ce pas des boutons radio ?

...
CB1 correspond à une catégorie à laquelle appartient l'utilisateur. CB2 lui permet de changer de catégorie. CB3 reprend son choix final.
...
Ça je n'ai pas compris !

...
if (CB2 is checked = get CB2 value = get CB3 checkthisbox CB2 value
else et CB1 value = get CB3 checkthisbox CB1 value
...et je ne comprends pas non plus ce que tu veux faire avec ce script !!!

Peut-être en partageant un fichier ce serait plus compréhensible.
@+
 :bonjour:

IP archivée


Merlin  04 janvier 2021 : 13:30

Une case à cocher n'a qu'une valeur ! Ne serait-ce pas des boutons radio ?
Des cases à cocher qui ont le même nom et des valeurs d'exportation différentes se comportent comme des boutons-radio.
La différence c'est que l'utilisateur peut décocher un groupe de cases à cocher, contrairement à un groupe de boutons-radio (sauf s'il fait un reset).

IP archivée


Merlin  04 janvier 2021 : 13:45

CB3 doit afficher le résultat de CB1 si CB2 n'est pas coché et celui de CB2 si un choix de CB2 est coché.

Exemple ci-joint, le script est le même dans les deux séries CB1 et CB2.

if (this.getField("CB2").value != "Off") {this.getField("CB3").value = this.getField("CB2").value;}
else {this.getField("CB3").value = this.getField("CB1").value;}


IP archivée


guiguiking74  04 janvier 2021 : 14:00

Exemple ci-joint, le script est le même dans les deux séries CB1 et CB2.

if (this.getField("CB2").value != "Off") {this.getField("CB3").value = this.getField("CB2").value;}
else {this.getField("
CB3").value = this.getField("CB1").value;}


Super, merci!.


Juste une question, ce code doit-il être implanté au niveau du document ou dans les actions des checkboxes CB1 et CB2?

IP archivée


guiguiking74  04 janvier 2021 : 14:04


Super, merci!.


Juste une question, ce code doit-il être implanté au niveau du document ou dans les actions des checkboxes CB1 et CB2?


J'ai répondu moi-même à la question (sur les cb pour les curieux) et ça marche au poil !

Merci Merlin !

IP archivée


bebarth  04 janvier 2021 : 14:21

Des cases à cocher qui ont le même nom et des valeurs d'exportation différentes se comportent comme des boutons-radio.
La différence c'est que l'utilisateur peut décocher un groupe de cases à cocher, contrairement à un groupe de boutons-radio (sauf s'il fait un reset).

C'est vrai, et je n'y pense jamais !
@+
 :bonjour:

IP archivée


Merlin  05 janvier 2021 : 00:10

Juste une question, ce code doit-il être implanté au niveau du document ou dans les actions des checkboxes CB1 et CB2?

Exemple ci-joint, le script est le même dans les deux séries CB1 et CB2.

Il faudrait peut-être que tu télécharges l'exemple joint, dont le compteur affiche toujours zéro…   :geek:

IP archivée


guiguiking74  05 janvier 2021 : 09:07

Désolé, je suis parti en mode chien fou avec le code sans même voir la pièce jointe.  :Smiley08:


En tout cas merci pour le coup de main, ça fonctionne nickel chez moi.

IP archivée