Donnez vie à vos documents numériques !
 

Un choix dans une liste déroulante affiche une image

abracadabraPDF Forums PDF – Général Un choix dans une liste déroulante affiche une image

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45931
    pierremaug
    Membre

    Bonjour à tous,

    J’ai l’impression que le sujet a déjà été traité mais dans les recherches que j’ai effectuées, je ne trouve toujours pas la solution ou du moins la méthode.
    je cherche simplement la fonction qui permet lorsque je sélectionne un choix dans une liste déroulante d’afficher une image.

    Merci d’avance

Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Auteur
    Réponses
  • #64665
    Merlin
    Maître des clés

    Bonjour.

    Il n’y a pas de fonction intégrée, il faut utiliser JavaScript.
    Ensuite tout dépend du nom des champs, et surtout de savoir lequel déclenche la commande.

    #64666
    pierremaug
    Membre

    Bonjour Merlin,
    Je voulais dire :”je cherche la fonction javascript”.
    Actuellement j’ai deux choix dans ma liste : OK et HS.
    Lorsque que je sélectionne HS, plusieurs champs de texte se “colorisent” via un script de validation (que vous m’avez donné d’ailleurs  :Smiley08: )
    Voilà le code en question :

    else if (event.value == “HS”) {
    this.getField(“voievt”).fillColor = [“RGB”,(229/255),(0/255),(81/255)];
    this.getField(“ramevt”).readonly = false;

    En plus je voudrais, que HS affiche une image. Du coup j’imagine que je dois rajouter une ligne de code ?
    J’espère être clair.

    Merci d’avance

    #64667
    bebarth
    Maître des clés

    bonjour,
    Il faut utiliser la propriété “display” d’un champ :
    https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_properties.htm%23TOC_displaybc-19&rhtocid=_6_1_8_31_1_18
    Si l’image est contenue dans un bouton, on affiche/masque le bouton.
    Si c’est une image directement dans le fichier .pdf, on crée un masque que l’on affiche/masque.
    @+
    :bonjour:

    #64668
    pierremaug
    Membre

    Bonjour Bebarth,

    Pardonnez mon ignorance, je n’arrive pas à mettre en application les indications renseignées dans l’aide adobe.

    1) J’ai crée un bouton dans lequel j’ai importé mon image. je l’ai appelé “indisponible”
    2) Dans mon “script de validation” j’ai le code suivant :

    if (event.value == “DISPO”) {
    this.getField(“voievt”).fillColor = [“RGB”,(104/255),(187/255),(137/255)];
    this.getField(“ramevt”).readonly = false;
    }
    else if (event.value == “HS”) {
    this.getField(“voievt”).fillColor = [“RGB”,(229/255),(0/255),(81/255)];
    this.getField(“ramevt”).readonly = false;
     
       
    }
    else {
    this.getField(“voievt”).fillColor = [“RGB”,(61/255),(61/255),(60/255)];
    this.getField(“ramevt”).readonly = false;
    }

    auquel j’aimerai rajouter la fonction “display”.
    Naïvement je rentre ce code :

    var f = getField(“indisponible”);
        f.display = display.visible;

    Mais évidemment ça ne marche pas…

    Merci d’avance pour vos lumière

    #64669
    Merlin
    Maître des clés

    Ça devrait fonctionner :

    Code:
    if (event.value == “DISPO”) {
      this.getField(“voievt”).fillColor = [“RGB”,(104/255),(187/255),(137/255)];
      this.getField(“ramevt”).readonly = false;
      this.getField(“indisponible”).display = display.hidden;
    }
    else if (event.value == “HS”) {
      this.getField(“voievt”).fillColor = [“RGB”,(229/255),(0/255),(81/255)];
      this.getField(“ramevt”).readonly = false;
      this.getField(“indisponible”).display = display.visible;
    }
    else {
      this.getField(“voievt”).fillColor = [“RGB”,(61/255),(61/255),(60/255)];
      this.getField(“ramevt”).readonly = false;
      this.getField(“indisponible”).display = display.hidden;
    }
    #64670
    bebarth
    Maître des clés

    Je t’ai fait un petit fichier.
    @+
    :bonjour:

    #64671
    pierremaug
    Membre

    Sans surprise, c’est parfait !
    Merci !

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