Donnez vie à vos documents numériques !
 

Listes déroulantes liées et champs associés

abracadabraPDF Forums PDF – Général Listes déroulantes liées et champs associés

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45172
    micka92
    Membre

    Bonsoir.

    Après quelques recherches sur le forum, je n’ai pas trouvé le moyen de réaliser le formulaire que je souhaite :
    – Afficher une liste déroulante à 3 choix
    – Chaque choix de la première liste doit faire apparaître une seconde liste différente
    – Le choix de cette seconde liste doit faire apparaître une valeur dans un champ n°1
    – Le choix de cette seconde liste doit faire apparaître une valeur dans un champ n°2

    Le formulaire doit être utilisé sur iPad (PDF Expert).

    En espérant avoir été suffisamment explicite dans ma demande.

    Cordialement.

Affichage de 8 réponses de 26 à 33 (sur un total de 33)
  • Auteur
    Réponses
  • #59088
    brumbies
    Membre

    Bonjour,

    As tu regardé le topic suivant?
    http://abracadabrapdf.net/forum/index.php/topic,2662.msg14500.html#msg14500
    Avec l’exemple d’Alex et en l’adaptant légèrement tu devrais pouvoir réussir à faire ce que tu veux…

    ensuite pour modifier la couleur du texte d’un champs on peut utiliser:

    Code:
    var f = this.getField(« myField »);
    f.textColor = color.red;

    ensuite pour le remettre en noir: color.black
    :Smiley01:

    #59089
    micka92
    Membre

    Bonjour.

    Effectivement, le script répond à mes attentes mais je n’arrive pas obtenir le résultat que je veux, c’est-à-dire que le texte s’affiche en rouge.

    En effet, j’ai modifié la condition de contrôle par « if ecartJ

    #59090
    brumbies
    Membre

    Bonjour,

    Le plus simple serait que tu post un exemple actualisé de ton fichier…
    :Smiley01:

    #59091
    micka92
    Membre

    Voilà !

    #59092
    brumbies
    Membre

    C’est tout de suite plus facile …  :geek:

    donc ton problème est que tu as définit en script de document une fonction Controle() que tu n’appelles pas … donc rien ne peut s’exécuter !
    L’astuce est de mettre au niveau de ton champs « c_dateverifdff » => Propriétés => Validation => Exécuter un script de validation personnalisé
    et tu y places l’instrcution :
    Controle();

    Ensuite attention, car si la date est supérieure à 1 an alors le texte « s’effacera » car tu as mis :
    this.event.target.fillColor=color.transparent;

    :Smiley01:

    #59093
    micka92
    Membre

    Au temps pour moi, l’exemple que j’ai envoyé ne comprends pas l’activation du script que j’ai bien dans mon document original sur le champ « Date 2 ». Tout comme la couleur rouge qui est bien présente sur mon formulaire. J’ai donc envoyé un exemple en partant d’une mauvaise version désolé  :Ooops: .

    En prenant le bon document, ma date disparaît toujours quand elle est supérieure à un an :
    this.event.value= » »;this.event.target.textColor=color.red;

    Par contre, si je sélectionne le champ, alors il apparaît en rouge après…  :oh:

    Pour finir, à quoi sert la ligne ? : this.event.target.fillColor=this.getField(« c_dateinter »).fillColor;

    #59094
    micka92
    Membre

    Bizarre… à la première date supérieure d’un an que j’ai mise, elle disparaît. Puis, si je saisis une nouvelle date, qu’elle soit supérieure ou inférieur à un an, elle reste en rouge.

    #59095
    brumbies
    Membre

    Ok je n’avais pas vu la ligne this.event.value= » »;
    qui réinitialise à « vide » la valeur de ton champs Date2 => donc dans ton script si la condition était vrai alors la valeur disparaissait.

    De plus la fonction filColor modifie la couleur de fond et non la couleur du texte, donc inutile dans ton cas…

    donc si la condition est vrai => alors la couleur de fond se met en rouge
    sinon => elle se met de la même couleur que celle de ton champ « c_dateinter » ………. qui n’existe pas !

    donc je modifierai le code suivant

    Code:
    if(ecartJ<0)
    {
    this.event.value= » »;
    this.event.target.fillColor=color.transparent;
    }
    else
    {
    this.event.target.fillColor=this.getField(« Date1 »).fillColor;
    }

    par

    Code:
    if(ecartJ{
      this.event.target.textColor = color.red;
    }
    else
    {
      this.event.target.textColor = color.black;
    }

    :Smiley01:

Affichage de 8 réponses de 26 à 33 (sur un total de 33)
  • Vous devez être connecté pour répondre à ce sujet.