Donnez vie à vos documents numériques !
 

Contrôler la visibilité de case à cocher

abracadabraPDF Forums PDF – Général Contrôler la visibilité de case à cocher

  • Créateur
    Sujet
  • #75866
    jctremblay
    Participant

    Pour un PDF, j’ai besoin de contrôle la visibilité de plusieurs case à cocher par l’état d’une première case à cocher.

    ex:

    Case à cocher (source) = ISHT-T1
    Case à cocher à contrôler = T1-1, T1-2, T1-3, T1-4

    Assez. simple quand tu en a qu’une serie…
    Je tente, sans succès à date, de créer un script de document qui vas utiliser le nomd de la case (source), en extraire les noms assossiés (ajoute d’un tiret et numéro.)

    Ne n’y arrive pas. Je me ramasse souvent à créer une loop infini. Ou rine du tout.

    Merci!

     

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

    Bonjour

    Exemple ci-joint, avec en prime un reset des cases à cocher quand elles sont masquées.

    var sNom = event.target.name;
    if (event.target.value != "Off") {
    for (var j = 1; j < 5; j++) {
    this.getField(sNom + "-" + j).display = display.visible;
    }
    }
    else {
    for (var j = 1; j < 5; j++) {
    this.getField(sNom + "-" + j).display = display.hidden;
    this.getField(sNom + "-" + j).value = "Off";
    }
    }

    Attachments:
    You must be logged in to view attached files.
    #75870
    Merlin
    Maître des clés

    Et donc en fonction pour mettre en script de document :

    function folCoche() {

    var sNom = event.target.name;
    if (event.target.value != "Off") {
    for (var j = 1; j < 5; j++) {
    this.getField(sNom + "-" + j).display = display.visible;
    }
    }
    else {
    for (var j = 1; j < 5; j++) {
    this.getField(sNom + "-" + j).display = display.hidden;
    this.getField(sNom + "-" + j).value = "Off";
    }
    }

    }

    Attachments:
    You must be logged in to view attached files.
    #75872
    jctremblay
    Participant

    Merci Merlin….
    Si simple! Des fois je me complique trop la vie.

    J’ai adapter car les case à contrôle, ne commence pas par ISHT- mais toujours après ce qui suit.
    Le nombre des champs à contrôler peut aussi varier en quantité.
    Est-ce que tu y vois quelque chose qui pourrait être mieux ?

    Ce qui donnes ceci:

    function folCoche() {
    var prefixe = event.target.name.split("-")[1];
    var i = 1;

    while (this.getField(prefixe + "-" + i)) {
    var oFlds = this.getField(prefixe + "-" + i);

    if (event.target.value != "Off") {
    oFlds.display = display.visible;
    } else {
    oFlds.display = display.hidden;
    oFlds.value = "Off";
    }
    i++;
    }
    }

    Attachments:
    You must be logged in to view attached files.
    #75877
    Merlin
    Maître des clés

    Non, pas mieux.

    Je t’aurais bien parlé de la Convention de dénomination des champs de formulaire mais il me semble que dans ce cas ce ne serait pas plus pratique.

    #75883
    jctremblay
    Participant

    Merci Merlin, ce PDF n’est pas le mien. Il y a plusieurs dizaine de pages et des centaines de cases à cochés. Je n’avais pas le «goût» de tout les refaire.

    #75886
    Merlin
    Maître des clés

    Je comprend bien !

     

    #75887
    jctremblay
    Participant

    Parlant de convention des noms des champs.
    Comment est-il possible de faire des copies d’un champ sur une page ex: «T1.1», «T1.2», «T1.3», «T1.4» et continuer la série «T1.5», «T1.6», «T1.7» etc. sur une seconde page? J’imagine que cela peut se faire seulement à l’aide d’un script.

     

    #75888
    Merlin
    Maître des clés

    J’utilise une astuce plus basique, je crée un grand PDF*, par exemple au format A2 ou A1, sur lequel je duplique les champs autant de fois que nécessaire et ensuite je copie-colle le nombre de champs requis sur chaque page du document final.

    C’est un truc que j’utilise aussi quand je veux que tous les champs dupliqués n’aient qu’un seul numéro après le point, et non pas deux comme quand on les duplique en grille (colonnes + rangées).

    Bien entendu c’est valable pour un petit nombre de page, au dela d’une dizaine il serait certainement plus rentable d’utiliser un script mais je n’ai jamais eu ce cas.

     

    *Avec le plugin “Nouveau” de abracadabraTools

    #75889
    jctremblay
    Participant

    Pour l’instant, j’utilise aussi ce même truc!!  🙂

    #75891
    Merlin
    Maître des clés

    Je fais ça parce que de toute façon il faut ensuite positionner précisément les champs sur les pages. C’est ce qui prend le plus de temps et avec un script ce n’est pas évident ni forcément plus rapide qu’à l’œil.

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