Donnez vie à vos documents numériques !
 

3 boutons radio / 2 images – Choix visibilité image – RÉSOLU

abracadabraPDF Forums PDF – Général 3 boutons radio / 2 images – Choix visibilité image – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46123
    Baptou8545
    Membre

    Bonjour, je suis tout nouveau sur ce forum.
    Avant de poster, j’ai effectué quelques recherches et je n’ai pas trouvé ce qu’il me fallait donc je me permet de vous demander…

    Voici la situation.
    J’ai 3 boutons radios, appartenant au même groupe “macarons”, les choix des boutons radio sont Image1, Image2 ou Rien.
    J’ai donc aussi deux images appelées Image1 et Image2.
    Je souhaiterais faire apparaître soit Image1, soit Image2 ou aucunes des deux.

    Sur le forum, j’ai trouvé des topics avec des situations ou il y un deux boutons radio pour faire apparaître une image ou non mais pas dans le cas où il y’a trois boutons et deux images.
    Je suis donc parti des solutions déjà apportées pour tenter de les reformuler afin d’arriver à mes fins mais je n’y arrive pas…

    Les scripts personnalisés que j’ai actuellement :

    Dans le bouton reliant image 1

    Code:
    if (this.getField(“macarons”).isBoxChecked(0))
    {this.getField(“image1”).display = display.visible;}
    else
    {this.getField(“image1”).display = display.hidden;}

    Dans le bouton image 2

    Code:
    if (this.getField(“macarons”).isBoxChecked(0))
    {this.getField(“image2”).display = display.visible;}
    else
    {this.getField(“image2”).display = display.hidden;}

    Dans le bouton Aucune image

    Code:
    if (this.getField(“macarons”).isBoxChecked(0))
    {
    this.getField(“image1”).display = display.hidden;
    this.getField(“image2”).display = display.hidden;
    }

    C’est surement une erreur tout bête mais si quelqu’un pouvait m’éclairer sur le sujet, je suis preneur.
    Merci à tous ! :)

Affichage de 8 réponses de 1 à 8 (sur un total de 8)
  • Auteur
    Réponses
  • #66106
    Pradow
    Membre

    Salut, alors par hasard est ce qu’il ne faudrait pas faire le test :
    this.getField(“macarons”).isBoxChecked(1) et isBoxChecked(2)?En t’assurant bien que les numéros 0, 1 et 2 sont attribués aux bons champs?

    #66107
    Baptou8545
    Membre

    Salut, alors par hasard est ce qu’il ne faudrait pas faire le test :
    this.getField(“macarons”).isBoxChecked(1) et isBoxChecked(2)?En t’assurant bien que les numéros 0, 1 et 2 sont attribués aux bons champs?

    Merci pour ta réponse Pradow :)
    Je vais faire le test mais pour savoir : À quoi sert le numéro dans les parenthèses isBoxChecked() ?

    #66108
    Pradow
    Membre

    Pour un groupe de radio buttons, chaque bouton va être associé à un indice entier. Comme ça, deux boutons du même groupe vont être différenciés par cet indice. C’est cet indice qui va être rentré dans  la fonction isBoxChecked.
    Dans ton cas, le groupe de radio buttons s’appelle “macarons”, et possède 3 éléments, d’indices 0, 1 et 2. Ces indices sont attribués dans l’ordre de création des boutons.
    Je ne peux que te conseiller de lire la documentation, chapitre Javascript API > Field
    https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf

    #66109
    bebarth
    Maître des clés

    bonjour,
    A mettre en script d’action souris relâchée des boutons radio :

    Code:
    switch (event.target.value) {
        case 0:
            this.getField(“Image1_af_image”).display=display.hidden;
            this.getField(“Image2_af_image”).display=display.hidden;
            break;
        case 1:
            this.getField(“Image1_af_image”).display=display.visible;
            this.getField(“Image2_af_image”).display=display.hidden;
            break;
        case 2:
            this.getField(“Image1_af_image”).display=display.hidden;
            this.getField(“Image2_af_image”).display=display.visible;
    }

    C’est ce qui me paraît le plus simple en attribuant les valeurs 0, 1 et 2 aux boutons, et sans se soucier de l’indice du champ.
    @+
    :bonjour:

    #66110
    Merlin
    Maître des clés

    Bonjour.

    C’est un peu dépassé le bouton-radio, non ?
    C’est typiquement un cas d’utilisation d’une liste-déroulante.
    :geek:

    #66111
    Baptou8545
    Membre

    @ALL
    Merci à tous pour vos réponses ! C’est une chose que je réutiliserais souvent :)

    Bonjour.
    C’est un peu dépassé le bouton-radio, non ?
    C’est typiquement un cas d’utilisation d’une liste-déroulante.
    :geek:

    @Merlin
    Merci également pour ta réponse. Que mettre en script du coup pour faire apparaître les images en fonction de la valeur sélectionnée dans la liste déroulante ?

    EDIT : J’ai pondu ça mais ça ne fonctionne pas :

    Code:
    if (event.value == “img1”){
    this.getField(“img1”).display = display.visible;
    this.getField(“img2”).display = display.hidden;
    }
    else if (event.value == “img2”){
    this.getField(“img2”).display = display.visible;
    this.getField(“img1”).display = display.hidden;
    }
    else if (event.value == “aucun”){
    this.getField(“img1”).display = display.hidden;
    this.getField(“img2”).display = display.hidden;
    }
    #66112
    Baptou8545
    Membre

    Au temps pour moi !
    Ça fonctionne, voici le script utilisé et mis en script de calcul personnalisé :

    Code:

    if (this.getField(“CHOIX-IMAGES”).value == “img1”){
    this.getField(“IMG1”).display = display.visible;
    this.getField(“IMG2”).display = display.hidden;
    }
    else if (this.getField(“CHOIX-IMAGES”).value == “img2”){
    this.getField(“IMG2”).display = display.visible;
    this.getField(“IMG1”).display = display.hidden;
    }
    else if (this.getField(“CHOIX-IMAGES”).value == “aucun”){
    this.getField(“IMG1”).display = display.hidden;
    this.getField(“IMG2”).display = display.hidden;
    }

    Merci à tous pour vos réponses, le problème est résolu !

    #66113
    Merlin
    Maître des clés

    Ça fonctionne, voici le script utilisé et mis en script de calcul personnalisé :

    Pas mieux !
    :bravo:

    Par-contre ce script serait mieux placé en “script de validation”, surtout que dans l’onglet “Options” des “Propriétés” du menu déroulant tu vas cocher “Valider la valeur sélectionnée immédiatement”…
    Ce sera toujours plus sympa pour les utilisateurs parce-que le choix prendra effet immédiatement.
    :Smiley03:

    Pour des séries plus longues ont pourrait l’organiser ainsi, mais pour le coup ça revient au même.
    (Non testé. Le “3” est a remplacer par le nombre de choix attendus + 1, ou bien par une variable)

    Code:
    for (var i=1; i<3; i++)  {
    this.getField(“IMG” + i).display = display.hidden;
    if (this.getField(“CHOIX-IMAGES”).value == “img” + i){
    this.getField(“IMG”+ i).display = display.visible;
    }
    }
Affichage de 8 réponses de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.