abracadabraPDF › Forums › PDF – Général › Champ caché selon une réponse à une question + Bouton Sauvegarde › Répondre à : Champ caché selon une réponse à une question + Bouton Sauvegarde
Sous Adobe LiveCycle Designer ES 8.2 et uniquement sur PC donc.
Question modification des propriétés des champs, on est pas gâté! En fait, on ne peut pas masquer un champ, mais seulement rendre invisible son contenu et interdire son accès. Voilà comment coder ça.
Le script ci-dessous est lançé par la liste déroulante Liste1 qui va asservir le champ texte1
formulaire1.Page1.Liste1::validate – (JavaScript, both)
//Sur évènement validate de la liste déroulante Liste1
//Attention choisir Langue:JavaScript
console.println(« Début de test avec sélection de « +Liste1.rawValue);
//Afficher l’item sélectionné dans le champ texte1
formulaire1.Page1.texte1.rawValue=Liste1.rawValue;
//Cas où le résultat est « Autre »
if(formulaire1.Page1.texte1.rawValue== »Autre »)
{
//Rend le contenu du champ invisible et toute saisie impossible
formulaire1.Page1.texte1.presence= »invisible »;
}
//Cas où le résultat n’est pas « Autre »
else
{
//Rend le contenu du champ visible et toute saisie possible
formulaire1.Page1.texte1.presence= »visible »;
formulaire1.Page1.texte1.fontColor=color.black;
}
console.println(« Fin de test »);
//console.show();
Le petit script suivant permet de remplir les items du menu déroulant Liste1 ici avec Bouton1:
formulaire1.Page1.Bouton1::click – (JavaScript, both)
//Sur évènement clic du bouton ou sur autre chose (ouverture doc ou page).
console.clear();
formulaire1.Page1.Liste1.clearItems();
formulaire1.Page1.Liste1.addItem(« Item1 »);
formulaire1.Page1.Liste1.addItem(« Item2 »);
formulaire1.Page1.Liste1.addItem(« Item3 »);
formulaire1.Page1.Liste1.addItem(« Item4 »);
formulaire1.Page1.Liste1.addItem(« Autre »);
formulaire1.Page1.Liste1.fontColor=color.red;
//Fin du script
Je vais creuser cette affaire pour voir si une astuce ne permettrait pas de vraiment masquer les champs. La propriété
Note: il y a là assez d’éléments pour résoudre le problème d’une liste déroulante Liste1 qui, en fonction de la sélection remplit une seconde liste de choix Liste2.
C’est tout pour aujourd’hui.