Donnez vie à vos documents numériques !
 

Cocher des cases différentes en fonction d’un résultat de calcul

abracadabraPDF Forums PDF – Général Cocher des cases différentes en fonction d’un résultat de calcul

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46250
    DOWNSTAR
    Participant

    Bonjour à tous

    Dans un PDF (évidement), j’ai plusieurs calculs effectués, et ô bonheur suprême, ces calculs fonctionnent tout à fait correctement.En revanche, une fois ces calculs réalisés, je voudrais qu’en fonction de ce résultat une case soit cochée… Facile… Oui mais j’ai trois fourchettes de résultat… donc une case sur trois à cocher seulement en fonction dudit résultat.j’ai tenté, d’afficher/masquer des cases cochées par défaut, cocher les cases en fonction des résultats, if – else, if – if else etc. Çà ne fonctionne pas. Mon acrobat DC (CC2020) me renvoie via la console un message d’erreur de syntaxe que je n’arrive pas à identifier…
    Je suis un pur noob en Javascript, j’arrive parfois à copier/coller du code sur ce site et me débrouiller avec mais là je coince…
    Si quelqu’un pouvait m’aider?
    Merci d’avance…

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

    Bonjour et bienvenue

    Bien sur que quelqu’un peut t’aider, mais il va falloir en dire plus, voire joindre une maquette.
    Comment se présentent les fourchettes de résultats ?

    #67094
    DOWNSTAR
    Participant

    Bonjour Merlin…
    Merci de votre intérêt. Comme je le disais j’ai un résultat qui tombe dans une case… Ce résultat est compris entre 1 et 10 avec 1 chiffre après la virgule. Et les fourchettes sont établies ainsi : Fourchette_1 := 3,3 – 6,7.Après c’est simple (en apparence) Fourchette 1 > Cocher la Case CAC_1 / Fourchette 2 > Cocher la case CAC_2 et enfin Fourchette 3 > Cocher la case CAC_3.J’ai essayé ça mais cela ne marche pas

    if (event.value {this.getField(« CACP »).checkThisBox(0,true);}
    {this.getField(« CACE »).checkThisBox(0,false);}
    {this.getField(« CACD »).checkThisBox(0,false);}
    else {this.getField(« CACP »).checkThisBox(0,false);}
    if (event.value >= 3,3 && event.value {this.getField(« CACE »).checkThisBox(0,true);}
    else {this.getField(« CACE »).checkThisBox(0,false);}
    if (event.value >= 6,7)
    {this.getField(« CACD »).checkThisBox(0,true);}
    else {this.getField(« CACD »).checkThisBox(0,false);}

    Et quand j’essaye else if, la console m’indique une erreur de syntaxe et là je bugue…Je ne peux pas vous faire parvenir de maquette, le fichier est confidentiel.J’espère que ces infos vous aiderons.

    Et merci encore…

    #67095
    bebarth
    Maître des clés

    bonjour,
    Essaye ça, c’est un peu plus court :

    Code:
    this.getField(« CACP »).value= »Off »;
    this.getField(« CACE »).value= »Off »;
    this.getField(« CACD »).value= »Off »;
    if (event.target.value<3.3) this.getField("CACP").checkThisBox(0,true);
    else if (event.target.value<6.7) this.getField("CACE").checkThisBox(0,true);
    else this.getField(« CACD »).checkThisBox(0,true);
    • Le séparateur numérique doit être un point, pas une virgule (on écrit 3.3 et non 3,3).
    • this.getField(« CACP »).value= »Off » est identique à this.getField(« CACP »).checkThisBox(0,false) et c’est plus facile à écrire quand il n’y a qu’un seul élément (widget) pour une case à cocher. Si tu connais la valeur de la case, tu peux écrire this.getField(« CACP »).value= »Valeur de la case » pour la cocher.
    • event.target.value au lieu de event.value (event.value est la valeur du champ avant l’évènement et event.target.value la valeur après).
    • [/list]@+
      :bonjour:

    #67096
    DOWNSTAR
    Participant

    Bonjour et merci…
    Malheureusement cela ne fonctionne pas, et je ne me l’explique pas. J’ai coller ton code dans l’onglet validation de la case dans lequel est calculé le résultat… Je me dis que c’est peut-être çà qui bloque…Je vais faire des essais ce week-end, avec un bouton qui lancerait le calcul final, on se sait jamais.
    Pour info j’ai bien hiérarchisé les calculs pour être sur que ce soit le dernier…
    En tout cas merci pour ton aide…
    Bon week end

    #67097
    bebarth
    Maître des clés

    Peux-tu partager un fichier ?
    @+
    :bonjour:

    #67098
    Merlin
    Maître des clés

    Je ne peux pas vous faire parvenir de maquette, le fichier est confidentiel.

    Une maquette c’est une simple page (blanche) avec juste les champs concernés (et leurs libellés) et leurs scripts, pas le fichier complet.
    Copier-coller…
    :Smiley15:

    #67099
    bebarth
    Maître des clés

    bonjour,
    … comme ça !
    @+
    :bonjour:

    #67100
    DOWNSTAR
    Participant

    Bonjour à tous les 2.
    Et encore merci pour vos réponses… Je prépare une maquette d’ici demain et je reviens vers le Forum.
    Merci encore@+ :Smiley01:

    #67101
    bebarth
    Maître des clés

    Ce que je t’ai posté ne convient pas ?
    @+
    :bonjour:

    #67102
    DOWNSTAR
    Participant

    Bonjour
    Et merci beaucoup à vous deux pour l’aide précieuse, que vous m’avez apportée.
    Ton script marchais très bien Bebarth, mais il fallait cliquer dans la case de résultat et quand je mettais le script en validation les comportement des coches de cases était pour le moins erratique. D’autant que dans le PDF final la case ne sera pas visible.
    J’ai donc créé un bouton, qui a l’avantage de relancer les calcul, et du coup ça marche nickel.
    Encore merci et désolé pour mon silence prolongé, crise oblige.
    @+

    #67103
    Merlin
    Maître des clés

    En parlant de crise : tu as bien choisi ton avatar !
    :Smiley03:

    Confinez-vous bien.

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