Donnez vie à vos documents numériques !
 

Générer un texte avec valeur de champs

abracadabraPDF Forums PDF – Général Générer un texte avec valeur de champs

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46430
    jahsoldier
    Participant

    Bonjour à vous,

    J’ai parcouru le forum et cherché sur le net une solution à mon problème mais sans succès (mais je suis persuadé que le souci a déjà été abordé).
    En gros dans mon formulaire, j’ai un champ de texte à la fin que je voudrais remplir en reprenant des informations d’autres champs présents sur le formulaire.  Je me suis donc inspiré du sujet suivant pour commencer : http://abracadabrapdf.net/forum/index.php/topic,3811.0.html
    et mon code donne donc ceci dans le script de calcul personnalisé

    Code:
    event.target.value=”Et certifie que les locaux destinés à un XXX sis “+this.getField(“Rue_Etablissement”).value+”, n°”+this.getField(“N°_Etablissement”).value+”
    dont l’enseigne est “+this.getField(“Enseigne”).value+”, et le/la gérant(e) “+this.getField(“gérant”).value+”,respectent les critères requis par la loi du 3 avril 1953 et l’arrêté royal du 4 avril 1953.”

    sauf qu’en fait quand je remplis les champs en question rien ne s’affiche dans mon champ récapitulatif (le champs autorisation en page 2).
    Ceci est mon premier souci.
    Mon second souci c’est que je voudrais qu’en fonction du choix fait en début de page 2 (autorisation/refus) le champ ad-hoc s’affiche et que l’autre reste masqué.  J’ai essayé également via les options de souris relâchée etc, mais j’ai du loupé une étape.
    Mon dernier petit problème, c’est de savoir si dans un champ texte on peut insérer des cases à cocher ? Ou alors est ce que je les positionne en avant plan de mon champ et ça suffira ?
    En question bonus, est-il possible pour le texte qui se préremplirait (dans le champ autorisation) qu’à la place des XXX on ajoute le texte correspondant aux différentes cases cochées dans la qualité en page 1 ?
    Merci déjà pour le temps passé à la lecture et bonne soirée/journée.
    Le lien vers mon fichier : https://framadrop.org/lufi/r/vVhqBMH8wu#BOM2QCG9ecm0xb4cVuYjJazjaZMDIXTEdMOSR9nlbtY=

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

    Bonjour et bienvenue

    sauf qu’en fait quand je remplis les champs en question rien ne s’affiche dans mon champ récapitulatif

    C’est normal car le champ “gérant” n’existe pas. Ce qui renvoie une erreur, voir ce tuto à propos de la Console JavaScript :
    https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/console-javascript-d-acrobat/

    En question bonus, est-il possible pour le texte qui se préremplirait (dans le champ autorisation) qu’à la place des XXX on ajoute le texte correspondant aux différentes cases cochées dans la qualité en page 1 ?

    Oui, exactement de la même façon que pour les champs texte. Sauf qu’il faudra prévoir une case cochée par défaut pour éviter l’affichage de la valeur “Off” quand aucune case n’est cochée.
    Par ailleurs :
    – il faut éviter les caractères accentués/spéciaux dans les noms de champs,
    – tu aurais intérêt à mettre les valeurs en variable pour assembler le texte final, ça évite les erreurs de syntaxe et c’est plus facile à maintenir :

    var text1 = this.getField(“Rue_Etablissement”).value;
    var text2 = this.getField(“N°_Etablissement”).value;
    var text3 = this.getField(“Enseigne”).value;
    var text4 = this.getField(“Nom”).value;
    var coch1 = this.getField(“CASEaCOCHER”).value;
    event.target.value = “Et certifie que les locaux destinés à un ” + coch1 + ” sis “+ text1 +”, n°”+ text2 +” dont l’enseigne est “+ text3 +”, et le/la gérant(e) “+ text4 +”, respectent les critères requis par la loi du 3 avril 1953 et l’arrêté royal du 4 avril 1953.”

    #68204
    Merlin
    Maître des clés

    Mon second souci c’est que je voudrais qu’en fonction du choix fait en début de page 2 (autorisation/refus) le champ ad-hoc s’affiche et que l’autre reste masqué.

    Oui c’est possible, sauf qu’il n’y a pas de champ nommé “ad-hoc” dans ce document.  :geek:

    Mon dernier petit problème, c’est de savoir si dans un champ texte on peut insérer des cases à cocher ?

    Non.

    #68205
    jahsoldier
    Participant

    Bonjour,

    Merci déjà pour les réponses.  Je vais m’atteler à renommer mes variables correctement et nommé correctement le champ gérant. 
    Est-ce que je les renommes directement dans la partie pour le scripts personnalisé ?Et donc pour les cases à cocher, avec

    Code:
    var coch1 = this.getField(“CASEaCOCHER”).value;

    Cela n’affichera que les cases qui sont cochées et pas toutes les cases ? Je veux dire par là que je vais devoir mettre les valeurs pour toutes les cases à cocher, à savoir : débit de boissson, frites, snack chaud, snack froid,… mais je voudrais que ne s’affichent que les cases qui sont cochées du coup.
    Pour le champs ad-hoc, je voulais parler des champs autorisation et refus en page 2 du document ^^ je ne parlais évidement pas de l’ami de Tintin  :joker:
    Je m’attelle à la modification et reviens vers vous lorsque j’aurai d’autres soucis ou bien pour dire que tout va bien :)

    #68206
    Merlin
    Maître des clés

    Cela n’affichera que les cases qui sont cochées et pas toutes les cases ?

    Ça n’affichera que la valeur de la case sélectionnée dans le groupe, si aucune case n’est cochée la valeur affichée sera “Off”, d’où mon conseil ci-dessus.

    #68207
    jahsoldier
    Participant

    Rebonjour,

    J’avance un peu.
    Voici donc ce que j’ai à l’heure actuelle comme script :

    Code:
    var text1 = this.getField(“Rue_Etablissement”).value;
    var text2 = this.getField(“N°_Etablissement”).value;
    var text3 = this.getField(“Enseigne”).value;
    var text4 = this.getField(“Nom”).value;
    var coch1 = this.getField(“débit boisson”).value;
    var coch2 = this.getField(“Petite restauration”).value;
    var coch3 = this.getField(“Restaurant”).value;
    var coch4 = this.getField(“Snack chaud”).value;
    var coch5 = this.getField(“Snack froid”).value;
    var coch6 = this.getField(“Plats à emporter”).value;
    var coch7 = this.getField(“Plats consommer sur place”).value;
    var coch8 = this.getField(“Cercle privé”).value;
    var coch9 = this.getField(“Hôtel”).value;
    var coch10 = this.getField(“Maison de logement”).value;
    var coch11 = this.getField(“Salon de dégustation”).value;
    var coch12 = this.getField(“Frites”).value;
    var coch13 = this.getField(“Utilisation de la salle”).value;

    event.target.value = “Et certifie que les locaux destinés à un ” + coch1 + “, ” + coch2 + “, ” + coch3 + ” sis “+ text1 +”, n°”+ text2 +” dont l’enseigne est “+ text3 +”, et le/la gérant(e) “+ text4 +”, respectent les critères requis par la loi du 3 avril 1953 et l’arrêté royal du 4 avril 1953.”

    Le hic, c’est que ça m’affiche des oui et non pour les cases à cocher, ce que je voudrais c’est qu’il reprenne le nom de la case en texte (je ne l’ai fait que pour 3 case à l’heure actuelle, histoire de ne pas devoir tout effacer ensuite s’il le fallait ^^).  Quelle serait donc du coup la formulation correcte pour ce faire ? 
    Edit :  J’ai trouvé, c’est dans la valeur d’exportation de la case dans les propriétés :)  Par contre, serait-il possible de supprimer l’affichage des off quand la case n’est pas cochée (voir capture d’écran en pièce jointe) ?

    Par ailleurs, je n’ai pas encore trouvé comment afficher un champ ou l’autre en fonction du choix effectuer en début de page 2, une fois que j’ai ça j’ai toutes les informations qu’il me fallait :)

    #68208
    Merlin
    Maître des clés

    Oui, exactement de la même façon que pour les champs texte. Sauf qu’il faudra prévoir une case cochée par défaut pour éviter l’affichage de la valeur “Off” quand aucune case n’est cochée.

    si aucune case n’est cochée la valeur affichée sera “Off”, d’où mon conseil ci-dessus.

    Sinon il faut utiliser des boutons-radio : la différence avec les cases-à-cocher c’est que l’utilisateur ne peut pas décocher une série, c’est un choix forcé.

    #68209
    jahsoldier
    Participant

    Ok,

    Est-ce qu’on peut imaginer, avoir un espèce de Or/and ou un if qui fasse en sorte de n’afficher que le/les cases cochées dans le formulaire (pour effacer la multitude de off).  J’avoue que je suis un peu perdu pour n’afficher que le ou les cases sélectionnées et pas l’ensemble des cases.  Si c’est possible, alors je cocherai une case par défaut qu’on pourra décocher pour cocher les cases correctes ensuite.
    Merci en tout cas pour les réponses et le temps passé sur mon/mes soucis.
    Bonne soirée

    #68210
    Merlin
    Maître des clés

    Ci-joint un exemple avec 5 coches (j’ai utilisé des boutons-radio, le bouton par défaut est le premier).

    Concernant le champ a afficher/masquer en page 2 il faudrait vraiment que tu dises duquel il s’agit, à moins que ce ne soit confidentiel ?  :joker:

    #68211
    jahsoldier
    Participant

    Merci pour la solution avec les boutons, les hic c’est qu’il peut y avoir plusieurs choix possibles.  Du genre Snack chaud et snack froid avec plats à emporter par exemple :s
    Pour les champs à afficher en page 2,  ce que j’aimerai, c’est que dans un premier temps ni le champ autorisation ni le champ refus ne s’affichent, mais que l’un des deux s’affiche en fonction du choix fait dans la première ligne, à savoir que la bourgmestre, autorise ou refuse l’exploitation.

    #68212
    bebarth
    Maître des clés

    bonjour,
    Voici ma solution : Tu mets les renseignements en “info-bulle”, et tu crée une table avec uniquement les cases cochées, puis tu rappelles tous les éléments de cette table.
    Il faut que les 4 champs soient renseignés plus au moins une case cochée pour que le texte s’affiche.
    Tu me dis si tu bloques sur un point.
    @+
    :bonjour:

    #68213
    jahsoldier
    Participant

    Bonjour bebarth,

    Merci pour la méthode, cela fonctionne nickel.  Je n’ai pas encore tout compris à la récupération des infos dans un tableau mais je vais me pencher sur la question :)
    Il me reste à afficher et masquer les champs autorisation refus en fonction du choix sur la première ligne de la page 2 en ayant les deux champs masqué au départ.

    #68214
    bebarth
    Maître des clés

    Voici.
    Regarde en script de touches personnalisé du menu déroulant.
    @+
    :bonjour:

    #68215
    jahsoldier
    Participant

    Super ça fonctionne,

    Merci beaucoup pour votre aide :)

    #68216
    Merlin
    Maître des clés

    Merci pour la solution avec les boutons, les hic c’est qu’il peut y avoir plusieurs choix possibles

    Ah ben oui, mais si tu compliques tout à loisir…  :Smiley08:

    Heureusement que bebarth est là.  :bravo:

    #68217
    jahsoldier
    Participant

    Ben en fait c’est pour ça que j’avais choisi les cases à cocher et pas le bouton radio  :Smiley03:

    Mais oui, bebarth à été d’un grand secours, et via son système j’ai pu aussi afficher masquer d’autres champs pour la suite du formulaire :)

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