Donnez vie à vos documents numériques !
 

Problème affichage par défaut du champ calcul dans un formulaire

abracadabraPDF Forums PDF – Général Problème affichage par défaut du champ calcul dans un formulaire

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43896
    labiketery
    Membre

    Bonjour à tous et à toutes !

    Voilà j’ai eu du mal à formuler le titre de mon post, car je ne suis pas très à l’aise avec Adobe Acrobat et sa création de formulaire.

    Je vais essayer de m’expliquer le plus clairement possible.

    J’ai créé un formulaire.
    J’ai trois types de champ avec des valeurs, que je nommerais A, B et C.

    Mon champ C est le calcul suivant : A x B

    Ce champ s’affiche par défaut avec une valeur à 0.

    Ma question est, comment faire pour que ce champ soit vide, et que ne s’affiche un résultat que lorsque A et B sont renseignés.

    Merci d’avance.

    Je reste à votre disposition pour toute autre information !!

Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Auteur
    Réponses
  • #51344
    alex
    Participant

    Lors de la validation des champs de saisie ChampA ou ChampB, on lance le script:
    CalculC()
    Ce script est placé au niveau du document:
    Dans ce script, tant que l’un des champs de saisie reste vide, on laisse le champ ChampC vide.
    Il faudrait ajouter une analyse de saisie pour s’assurer que A ou B contiennent bien des chiffres ou forcer le format.
    Mais faisons simple pour l’instant:

    function CalculC()
    {
    if(this.getField(“ChampA”).value!=””&this.getField(“ChampB”).value!=””)
    {
    this.getField(“ChampC”).value=this.getField(“ChampA”).value*this.getField(“ChampB”).value;
    }
    else
    {
    this.getField(“ChampC”).value=””;
    }
    }
    Pour raffiner on peut placer un script qui s’exécute lors de la saisie des données (on peut remplacer le “Wait” par un blanc) pour ne pas afficher de résultat tant que celle-ci n’est pas terminée. Onglet Format>Catégorie de format Personnalisée>Script de touches personnalisé>
    Raz();
    Ce script est placé au niveau du document:
    function Raz()
    {
    this.getField(“ChampC”).value=”Wait”
    }

    Maquette jointe.

    [attachment deleted by admin]

    #51345
    Merlin
    Maître des clés

    J’utilise une autre méthode pour faire la même chose :

    – pour m’assurer que les champs A et B ne contiennent que des chiffres je les met en format “nombre” (Propriétés du champ > Format), même chose pour le champ C qui autrement n’effectuerait aucun calcul.

    – pour le champ C, dans Calcul je lui demande d’effectuer le Produit des champs A et B (Propriétés du champ > Calcul), et pour qu’il n’affiche rien tant que sa valeur est égale à zéro je place ce petit script en script de validation personnalisé dans le champ C  (Propriétés du champ > Validation)

    if (event.value == “0”) {event.value = “”};

    :)

    Edit : PDF joint supprimé

    #51346
    alex
    Participant

    Oui, c’est une solution plus simple tant qu’on a pas l’intention de faire plus de calcul en JavaScript.
    Par contre il faut supprimer l’appel du  script CalculC() lors de la validation des données A et B;
    En ce qui concerne le choix du format:
    1-Pour les nombres, Acrobat ne propose pas de séparateur de milliers, ce que l’on peut faire par JavaScript.
    2-Le choix d’un format nombre interdit l’usage des scripts de touches personnalisé et là, pour moi, c’est un gros handicap.
    Je préfère donc ne pas utiliser les formats proposés par Acrobat.

    #51347
    Merlin
    Maître des clés

    Par contre il faut supprimer l’appel du  script CalculC() lors de la validation des données A et B;

    Oups, je n’y avais pas fait attention.
    :-[

    En ce qui concerne le choix du format:
    1-Pour les nombres, Acrobat ne propose pas de séparateur de milliers, ce que l’on peut faire par JavaScript.

    Si, ce n’est ni évident ni très visible mais c’est là :

    separateurmilliers-1295010207377.png

    ;)

    2-Le choix d’un format nombre interdit l’usage des scripts de touches personnalisé et là, pour moi, c’est un gros handicap.
    Je préfère donc ne pas utiliser les formats proposés par Acrobat.

    C’est toute la différence entre le pro du JavaScript (toi) et le bricolo (moi) !
    :geek:

    [attachment deleted by admin]

    #51348
    alex
    Participant

    C’est à ne rien y comprendre ! Je n’ai pas ce format des nombres avec espace ! A tout hasard, je suis repassé sur la version française d’Acrobat (9.4.1), car je fais mes développements sur la version anglaise et… toujours pas d’espace ! Même chose sur Mac avec Acrobat (9.4.1) aussi. Je ne dispose pas du menu déroulant “Emplacement du symbole:” et pas d’item  “Avant avec espace”. Est-en version X ? Je l’ai désinstallée, je ne peux plus faire d’essais.

    #51349
    Merlin
    Maître des clés

    C’est bien une copie d’écran d’Acrobat X.

    L’emplacement du symbole c’est une nouveauté de la version X, je le savais.
    Par contre le format espace-entre-les-milliers j’aurais juré qu’il était là depuis toujours… alors j’ai vérifié.

    Effectivement il n’est pas dans Acrobat 9, ni dans le 8, ni dans le 7… mais par contre il est bien là dans Acrobat 5 :

    Acro5format-1295038276625.png

    Etonnant, non ?
      :doute:
    :mur:

    #51350
    alex
    Participant

    Au bout de 10 versions, Adobe découvre qu’il a des clients en Europe ! Plaisanterie à part, il est beaucoup moins drôle de se voir privé de lancer des scripts sur saisie de caractère dès lors qu’on a opté pour un format! Pour moi, je ne change pas mes habitudes, je gère moi-même les formats!

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