Dupliquer le contenu de champs à l'aide d'une checkbox  (Lu 56 fois) Partager ce sujet Imprimer

1 B


Michoux  12 octobre 2019 : 16:56

Bonjour à tous,


Je suis nouveau sur ce forum, que j'ai découvert il y a peu. Chapeau !
J'aimerais alléger un formulaire .pdf en remplissant automatiquement des champs lorsqu'une checkbox est cochée.
Je précise : j'ai 2 tableaux de structure identique (8 champs chacun, Prod1, Prod2, SIRET1, SIRET2, etc.). J'aimerais que lorsque la checkbox "IdemProd" est cochée, le champ "Prod2" prenne la valeur de "Prod1", "SIRET2" prenne la valeur "SIRET1" et cela pour les 8 champs concernés.
Toutes les valeurs sont des chaines de caractères.
En bon newbie, j'ai tenté en vain de créer la commande à partir de scripts piochés ci et là sur le forum. Mais rien ne se passe.
Si une bonne âme pouvait me venir en aide....  :jerisjaune:
Merci d'avance.

IP archivée


bebarth  12 octobre 2019 : 22:56

bonsoir,
En script de calcul du champ "Prod2", il faut écrire :
if (this.getField("IdemProd").value!="Off") {
    event.target.value=this.getField("Prod1").value;
} else {
    event.target.value="";
}
Idem pour les autres champs "2" avec renvoi à leur valeur de champ "1" adéquat !
@+
 :bonjour:

IP archivée


Michoux  13 octobre 2019 : 10:16

Bonjour,


Mille mercis pour votre réponse rapide. Cela fonctionne  :geek:
Sans vouloir abuser de votre bonté (et de votre temps !), j'aimerais continuer d'optimiser mon formulaire, et seul c'est compliqué.
Actuellement, il me faut activer les champs "Prod2", "SIRET2', etc. pour que ces champs prennent la valeur respective de "Prod1", "SIRET1", etc.
Idéalement, j'aimerais que la simple activation de la checkbox "IdemProd" remplisse la matrice composée des champs "Prod2", "SIRET2", etc.
J'ai tenté d'insérer le code suivant pour résoudre mon problème, mais il me faut toujours activer chaque champ pour récupérer la valeur concernée :
if (this.getField("IdemProd").value!="Off") {
    this.getField("DemandeurRaisSociale").setFocus();
    this.getField("DemandeurSIRET").setFocus();
    this.getField("DemandeurAdresse").setFocus();
    this.getField("DemandeurTel").setFocus();
    this.getField("DemandeurContact").setFocus();
    this.getField("DemandeurEmail").setFocus();
    this.getField("DemandeurTélContact").setFocus();
    this.getField("DemandeurFonction").setFocus();
} else {
    event.target.value="";
}

Ma checkbox exécute le script sur le déclencheur souris relâchée. J'observe que de fait le déclencheur est le même pour tous les champs de la matrice 2 ("Prod2", "SIRET2", etc.).
Idem si je choisis le déclencheur champ activé. Ne fonctionne pas non plus.
Or je voudrais ne pas avoir besoin de cliquer sur chaque champ.


Existe-t-il une solution simple à mon problème ?
Merci d'avance pour l'aide apportée !

IP archivée


bebarth  13 octobre 2019 : 10:36

bonjour,
Idéalement, j'aimerais que la simple activation de la checkbox "IdemProd" remplisse la matrice composée des champs "Prod2", "SIRET2", etc.
Regarde l'exemple joint, et ton idéal ne sera plus utopique...
@+
 :bonjour:

IP archivée


Michoux  13 octobre 2019 : 18:58

Bonsoir, et merci infiniment.
Tout fonctionne comme je l'espérais  :bonjour:
Je n'aurais pas eu l'idée de passer par le script de calcul...
Je laisse un admin fermer le topic et moi j'indexe ce site dans mes favoris.
Bravo encore pour l'initiative de ce forum et merci encore pour l'aide apportée.
A+

IP archivée