Donnez vie à vos documents numériques !
 

Infobulle préremplie dans un champ texte. – RÉSOLU

abracadabraPDF Forums PDF – Général Infobulle préremplie dans un champ texte. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44329
    KALO
    Membre

    Bonsoir le forum,

    Est-il possible d’indiquer une infobulle statique visible juste à l’écran dans un champ “texte” ? (et lorsqu’on saisi dans ce champ, l’infobulle s’efface pour laisser place au texte saisi).

    Ci-joint, un exemple en fichier.

    Cordialement.

    [attachment deleted by admin]

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

    Salut,

    cNb8.png

    :bonjour:

    #53950
    KALO
    Membre

    Bonsoir Merlin,

    Merci pour votre réponse mais je connaissais déjà cette option,

    peut-être que le terme Info-bulle n’est pas appropié mais dans ce cas l’info-bulle apparait seulement au passage de la souris alors que j’aurais souhaité qu’elle soit visble tant qu’il n’y a rien de saisi dans ce champ….

    Cordialement

    #53951
    Merlin
    Maître des clés

    Je comprend mieux.
    Je pense que les scripts contenus dans les champs nom et prénom qui sont dans le ci-joint devraient t’intéresser…
    :Smiley15:

    [attachment deleted by admin]

    #53952
    KALO
    Membre

    Merci Merlin,

    C’est effectivement ce type de résultat mais je crains que le script ne soit un peu trop compliqué à adapter pour un débutant comme moi,

    le champ “Liste” est également intéréssant et trés pratique mais je préfère commencer par quelque chose de plutôt simple, de peur de ne pouvoir corriger toute erreur qui pourrait survenir dans mon PDF qui sera mis à disposition à un groupe de personnes…..!!!!

    Sinon, je vais essayer de voir les scripts de plus près et tenter de ne retenir que le script pour la partie préremplie dans les champs…,

    Cordialement

    #53953
    maxwyss
    Membre

    Pour les champs du type listbox et combobox, c’est simple; creez un champ contenant ce texte (par example “faites votre choix”), et donnez lui une valeur de retour specifique (souvent, je prends 0 ou -1).

    Pour les champs de texte, c’est un petit peu plus complexe, mais pas de problème serieux:

    a) La valeur par défaut sera le texte à afficher (par ex “nom”

    b) Dans l’evenement onFocus ajoutez le code suivant:

    if (event.target.value === event.target.defaultValue) { event.value = “”}
    if (event.target.value === event.target.defaultValue) { event.target.value = “”}

    c) dans l’evenement onBlur ajoutez le code suivant:

    if (event.value == “”) { event.value = event.target.defaultValue }
    if (event.target.value == “”) { event.target.value = event.target.defaultValue }

    Et ça devrait fonctionner.

    Ces codes déterminent s’il y a une valeur dans le champ soit la valeur de l’infobulle; si c’est le cas, le champ est vidé quand on clique dedans ou on vient dedans par tab. Quand on quitte le champ, le code decide, si le champ est vide que rien a été rempli, et il va donc remontrer l’infobulle.

    HTH

    Max Wyss.

    #53954
    Merlin
    Maître des clés

    C’est effectivement ce type de résultat mais je crains que le script ne soit un peu trop compliqué à adapter pour un débutant comme moi,
    Sinon, je vais essayer de voir les scripts de plus près et tenter de ne retenir que le script pour la partie préremplie dans les champs…,

    C’est simple, dans le script ci-dessous il n’y a qu’à modifier ce qui est en rouge, le reste c’est du copier-coller :

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

    le champ “Liste” est également intéréssant et trés pratique mais je préfère commencer par quelque chose de plutôt simple, de peur de ne pouvoir corriger toute erreur qui pourrait survenir dans mon PDF qui sera mis à disposition à un groupe de personnes…..!!!!

    C’est pareil, il y a juste modifier ce qui est entre guillemets dans le script.
    Si tu as peur, poste ton formulaire qu’on puisse le tester.
    :Smiley15:

    #53955
    KALO
    Membre

    Bonsoir Merlin, Maxwyss,

    Merci pour vos nouvelles réponses et désolé pour le retour un peu tardif,

    @Merlin, avant même d’avoir exploré les scripts de votre fichier, je m’étais dit que celui-ci doit comporter pas mal de lignes de code pour être pratique comme ça, d’où ma crainte évoquée dans mon précécent message,

    mais après quelques tours dans les propriétés notamment, je me suis effectivement dit que ça n’a pas l’air si sorcier que ça pour un “faux débutant”…car je suis un passionné de VBA depuis quelques années déjà et j’ai l’habitude de manipuler des codes, mais si je suis loin d’être encore un pro…,

    Et puis je sais que je peux compter sur vous et ce forum pour réaliser des PDF bien pratiques,

    Par contre, si je ne me trompe pas, la valeur par défaut dans le champs Nom, Prénom, a définitivement disparu,
    après une ptite saisie à l’intérieur et sans avoir enregistré le document, ces valeurs ne s’affichent plus et les champs sont vides à la réouveture du PDF…..!!!

    @Maxwiss, merci beaucoup pour vos explications précises et détaillées concernant les listes et les champs texte, je crois qu’avec toutes vos réponses et vos encouragements…je devrais réussir à créer un PDF de ce type,

    Je testerai tout ça ce WE et je me permettrais de revenir vers vous….

    Merci encore et bonne soirée

    Cordialement

    #53956
    Merlin
    Maître des clés

    Par contre, si je ne me trompe pas, la valeur par défaut dans le champs Nom, Prénom, a définitivement disparu,
    après une ptite saisie à l’intérieur et sans avoir enregistré le document, ces valeurs ne s’affichent plus et les champs sont vides à la réouveture du PDF…..!!!

    Tu ne te trompes pas, c’est voulu.
    C’est un choix un peu arbitraire, dans le cas de ce formulaire, on a considéré que si l’utilisateur l’a vu une fois ça suffit, surtout pour ce type de formulaire où c’est l’évidence même. S’agissant d’un formulaire en ligne et d’un abonnement annuel, l’utilisateur n’est pas censé utiliser le même formulaire plusieurs fois.

    Cependant on peut faire que l’intitulé par défaut revienne s’il n’y a pas de saisie effectuée, il suffit d’inverser en sortie :
    A placer en script d’action “champ désactivé” :

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

    :Smiley15:

    #53957
    KALO
    Membre

    Merci Merlin,

    ça me rassure alors et c’est effectivement compréhensible et adapté pour un formulaire en ligne et annuel….

    Pour ma part, il s’agit d’un PDF qui sera utilisé par plusieurs personnes et plusieurs fois dans le mois…

    Et merci pour le code adapté au nouveau contexte,

    Cordialement

    #53958
    Merlin
    Maître des clés

    if (KALO.value == “content”)
    {Merlin = “content aussi”;}

    :geek:

    #53959
    maxwyss
    Membre

    if (KALO.value == “content”)
    {Merlin = “content aussi”;}

    :geek:

    That’s a low-cost content management system…

    hehe

    Max.

    #53960
    KALO
    Membre

    Bonsoir le forum, Merlin, maxwyss,

    Après quelques essais, je reviens vers vous pour un ptit problème concernant le code qui permet d’afficher un texte dans une case et de le supprimer lorsque qu’un nouveau texte est saisi,

    Le code pour afficher une liste de données ne m’a pas posé de problème,

    Sinon pour notre 1er cas, j’ai repris ci-dessous la réponse à maxwyss,

    Pour les champs de texte, c’est un petit peu plus complexe, mais pas de problème serieux:

    a) La valeur par défaut sera le texte à afficher (par ex “nom”

    b) Dans l’evenement onFocus ajoutez le code suivant:

    if (event.target.value === event.target.defaultValue) { event.value = “”}

    c) dans l’evenement onBlur ajoutez le code suivant:

    if (event.value == “”) { event.value = event.target.defaultValue }

    @maxwyss, mon problème, c’est que je ne sais pas comment trouver les événements Onfocus et OnBlur….!!!!

    Egalement, ci-dessous la réponse à Merlin :

    C’est simple, dans le script ci-dessous il n’y a qu’à modifier ce qui est en rouge, le reste c’est du copier-coller :

    @Merlin, où trouve-t-on le reste ?? Dans les options avancées sous “Définir des actions de scripts” ??

    Voici le code que j’ai trouvé dans les options avancées,

    Est-ce que c’est cette partie ??


    //nom:Annot2:OnFocus:Action1
    //
    /*********** appartient à : AcroForm:nom:Annot2:OnFocus:Action1 ***********/
    ////////////////////////////////////////////////////////////////////////////
    if (event.target.value == “Nom”)
    {event.target.value = “”;}
    ////////////////////////////////////////////////////////////////////////////
    //

    //

    Je pense que je comprendrai mieux avec ce fichier test,

    Pouvez-vous svp me mettre un exemple et compléter par le code pour que “nom” s’affiche par défaut dans le 1er champ à gauche….et que celui-ci s’efface lorsque je saisie un texte

    Merci d’avance

    Cordialement

    [attachment deleted by admin]

    #53961
    maxwyss
    Membre

    L’evenement “onFocus” se nomme “champ activé”, et l’evenement “onBlur” est nommé “champ desactivé”. Les deux se trouvent dans les Actions des proprietés de champ.

    HTH

    Max Wyss.

    #53962
    Merlin
    Maître des clés

    Salut,

    Tout se passe dans les Propriétés du champ :

    – Pour que “Nom” s’affiche par défaut on le place comme “Valeur par défaut” dans l’onglet Options.

    – Pour que “Nom” disparaisse quand on active le champ, dans l’onglet “Actions” on place le script en action “Exécuter un JavaScript” au déclencheur “Champ activé” (On Focus en anglais).
    – Pour que “Nom” réapparaisse quand on désactive le champ s’il n’y pas eu de saisie effectuée, dans l’onglet “Actions” on place le script en action “Exécuter un JavaScript” au déclencheur “Champ désactivé” (On Blur en anglais).

    – Pour que le menu déroulant s’affiche au clic, dans l’onglet “Actions” on place le script en action “Exécuter un JavaScript” au déclencheur “Souris enfoncée” (Mouse Down en anglais).
    Ci-joint Test_ok_.pdf

    :idee:
    Quand on doit utiliser le même menu déroulant, ou n’importe quelle autre fonction, plusieurs fois dans plusieurs champs du même formulaire on a tout intérêt à utiliser une fonction.
    Avantages : c’est plus réactif parce-que chargé à l’ouverture du document, et non pas au moment du clic. Et la maintenance est réduite puisqu’il n’y a qu’un seul script à modifier pour tous les champs.

    Pour faire ça on remplace le script par l’appel de la fonction.
    La fonction se trouve en script de document : JavaScript => Script JavaScripts du document.
    Le script se trouve entre les accolades de la fonction.
    Ci-joint Test_ok_fonction.pdf

    :Smiley15:

    [attachment deleted by admin]

    #53963
    Merlin
    Maître des clés

    j’ai repris ci-dessous la réponse à maxwyss,

    Le script de Max (bien plus judicieux que le mien puisqu’il s’agit d’utiliser la valeur par défaut du champ et non pas une autre valeur) contenait quelques oublis.
    C’est corrigé.
    :Smiley03:

    #53964
    KALO
    Membre

    Merci beaucoup pour vos réponses maxwyss, Merlin,

    j’avais en effet constaté que chaque action ou événement dans les propriétés du champ générait automatiquement un code structuré et balisé qu’on pouvait également visualiser ou modifier dans les options avancées.

    OnFocus et OnBur sont en quelques sortes pour ce qui est pour VBA des “méthodes”,

    @Merlin, merci beaucoup également pour les 2 fichiers en exemple, en plus vous répondez d’une pierre 2 coups, à une prochaine question à savoir si on peut sélectionner une donnée avec la touche “Entrée” et c’est le cas dans cet exemple,

    Bonne nuit à vous,

    Cordialement

    #53965
    KALO
    Membre

    @merlin, vous lisez dans mes pensées ??

    Je viens de lire vos explications détaillées concernant une autre interrogation que je m’étais posée…celle de créer une liste déroulante sur plusieurs champs et qui sera gérée par un code unique….

    En effet, j’avais dans mon fichier Test d’abord inséré le code dans le 1er champ puis ensuite inséré plusieurs champs en dessous…pour avoir la liste déroulante,

    Je crois que j’ai bien compris les explications et le sens des codes dans l’ensemble pour cet exemple….

    Merci encore,

    Cordialement

    #53966
    Lionel
    Membre

    :PouceHaut: :PouceHaut: :PouceHaut:

    #53967
    Merlin
    Maître des clés

    @merlin, vous lisez dans mes pensées ?

    Disons plutôt qu’il s’agit d’une problématique très répandue à laquelle on arrive logiquement après avoir franchi certaines étapes.
    :Smiley01:

    #53968
    Lionel
    Membre

    Bonjour,

    @merlin, vous lisez dans mes pensées ??

    :merlin: Si vous relisez l’histoire de Merlin, vous vous remémorez qu’il est “un petit peu” enchanteur / magicien…  :Smiley03:

    Lionel :alien2:

    #53969
    KALO
    Membre

    Bonsoir Lionel, Merlin, Maxwyss,

    Je confirme vos propos Lionel, il porte bien son nom, c’est même écrit dans son profil qu’il est “Grand Magicien”… :Smiley08:

    Slts

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