Donnez vie à vos documents numériques !
 

Formulaire: visibilité conditionnelle des champs

abracadabraPDF Forums PDF – Général Formulaire: visibilité conditionnelle des champs

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45973
    alain8225
    Membre

    Bonjour,

    J’ai un formulaire PDF pour lequel j’aurais besoin que des champs texte multilignes soient visibles à l’impression s’ils ne sont pas vides; mais qu’ils soient invisibles à l’impression s’ils sont vides. (En fait, ces champs multilignes contiennent un fond blanc pour masquer les lignes (requises pour compléter le formulaire papier manuscritement) qui se trouvent derrière). Ce ne doit pas être bien compliqué à faire, mais je n’arrive pas à mettre le doigt sur (ni à formuler) un javascript conséquent.

    Quelqu’un aurait-il une piste de solution?

    Merci à l’avance. :-)
    Alain

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Auteur
    Réponses
  • #64976
    bebarth
    Maître des clés

    bonjour,
    Voici ce qu’il faut écrire :

    Code:
    if (this.event.target.value != “”) {
        this.event.target.display = display.visible;
    } else {
        this.event.target.display = display.noPrint;
    }

    …en gros, si le champ n’est pas vide on l’imprime, sinon on ne l’imprime pas !
    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
    @+
    :bonjour:

    #64977
    Merlin
    Maître des clés

    Bonjour et bienvenue.

    Je suis souvent confronté à cette demande et j’utilise une autre approche, très similaire : si le champ est vide il a un fond transparent, s’il est rempli il a un fond blanc (ou de la couleur du fond de page).
    À placer en script de Validation.

    Code:
    if (event.value.toString().length > 0) {
    event.target.fillColor = color.white ;
    }
    else {
    event.target.fillColor = color.transparent ;
    }

    :Smiley15:

    #64978
    alain8225
    Membre

    Merci infiniment Merlin et Bebarth!
    Je m’empresse de mettre vos solutions en application.

    Merci encore de partager vos connaissances.
    Alain

    #64979
    Merlin
    Maître des clés

    PS : pour ne pas perturber l’utilisateur et lui faciliter la saisie je place aussi ce script en action “champ activé” dans tous les champs concernés pour qu’il puisse saisir sur un fond blanc (sinon le fond blanc ne s’affiche qu’après désélection du champ).

    Code:
    event.target.fillColor = color.white ;
Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.