Donnez vie à vos documents numériques !
 

Double fonction sur un bouton dans formulaire PDF – RÉPONDU

abracadabraPDF Forums PDF – Général Double fonction sur un bouton dans formulaire PDF – RÉPONDU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43963
    lkjc
    Membre

    Bonjour,

    j’ai fait un formulaire pdf à remplir. il se termine par un bouton « enregistrer »
    dans le pdf 3 champs sont obligatoires : email, fonction, activite.
    quand la personne a fini de remplir son formulaire, elle clique sur le bouton enregistrer et, si les 3 champs sont remplis, on a directement une fenetre enregistrer sous.
    si un ou plusieurs champs ne sont pas remplis, on a un popup : par ex : email requis.
    clic ok et le pop up se ferme.
    ce que je n’arrive pas à trouver, c’est comment lier les 2 actions.
    en effet, une fois les popups fermés, la fenetre enregistrer sous souvre quand meme.
    je souhaite qu’on ne puisse enregister le pdf qu’une fois les champs remplis.

    j’ai mis sur mon bouton : action, souris relachée, lancer un script :

    if (getField(« email »).value == «  »){
    app.alert(« email requis ! »);
    } else {
      eformpdf_submitForm();
    }
    if (getField(« fonction »).value == «  »){
      app.alert(« intitulé de fonction requis ! »);
    } else {
      eformpdf_submitForm();
    }
    if (getField(« secteur »).value == «  »){
      app.alert(« secteur activité requis ! »);
    } else {
      eformpdf_submitForm();
    }

    puis =>2eme ligne, executer une commande de menu : fichier enregistrer sous.

    les 2 fonctions se jouent donc l’une derriere l’autre, sans correlation.
    je pense qu’on doit pouvoir mettre en javascript ( si mail, fonction, secteur rempli alors enregistrer sous. )mais ne je trouve pas l’info.
    merci d’avance à toute personne qui pourra m’aider.
    laurence

Affichage de 18 réponses de 1 à 18 (sur un total de 18)
  • Auteur
    Réponses
  • #51721
    Lionel
    Membre

    Bonjour,

    Il est inutile de poster deux fois le même sujet avec le même contenu dans deux rubriques différentes.  :Interdit/Impossible:

    Pour le reste; Merlin va peut-être vous demander d’ajouter le formulaire a un message pour que l’on puisse le voir…

    Bien cordialement.
    Lionel :bonjour:

    #51722
    Merlin
    Maître des clés

    Attendons Alex…
    :priere:

    #51723
    lkjc
    Membre

    désolée, je ne savais pas ou le mettre…  :???:

    #51724
    Merlin
    Maître des clés

    ce que je n’arrive pas à trouver, c’est comment lier les 2 actions.
    en effet, une fois les popups fermés, la fenetre enregistrer sous souvre quand meme.
    je souhaite qu’on ne puisse enregister le pdf qu’une fois les champs remplis.

    C’est certainement faisable avec JavaScript mais AMHA c’est complètement inutile, et éventuellement contre-productif parce-que cela peut créer un sentiment de fausse sécurité (faux contrôle) : le script ne peut contrôler que les actions utilisateur sur le bouton Enregistrer sans pouvoir empêcher l’utilisation d’un autre moyen (menu, raccourci-clavier, barre d’icône, fermeture du doc., etc.).

    D’autre part, j’imagine que si je suis en train de remplir un formulaire, que je doive partir ou éteindre rapidement l’ordinateur en pensant finir plus tard, et qu’on m’interdise d’enregistrer ce que j’ai déjà fait… j’aurai certainement un a-priori très négatif pour la suite !

    ;)

    #51725
    Merlin
    Maître des clés

    désolée, je ne savais pas ou le mettre…  :???:

    No soussaille, ce n’est pas bien grave.
    :D

    (Merci Lionel)
    :bravo:

    #51726
    alex
    Participant

    Quelques remarques:
    1-eformpdf_submitForm();
    n’est pas une méthode, ce pourrait être une fonction si celle-ci était définie.
    this.submitForm();
    est bien une méthode mais elle est réservée à l’envoi de données de formulaire et  il faut la paraméter correctement.
    2-Si l’une des trois conditions logiques est satisfaite, le bouton « Enregistrer  » restera invisible, sinon, ce bouton apparaîtra. On ne voit nulle part de condition logique…
    3-Pour être rigoureux, il faut être plus exigeant avec les saisies, le constat du champ non vide est insuffisant.
    4-Pour qu’il soit possible d’enregistrer le formulaire avec ses données sous Adobe Reader, il faudra activer les « Reader Extension » avant d’enregistrer le formulaire sous Adobe Acrobat.
    Je vais vous faire une petite maquette d’ici demain soir.

    #51727
    lkjc
    Membre

    merci beaucoup.
    pour info, le bouton enregistrer existe déjà.
    le document initial a été fait sous indesign. j’ai ensuite exporter en pdf et mis des champs dessus.
    concernant reader extension, vous faites bien de le rappeler car on y pense pas forcement, mais pas de souci, le l’avais déjà activé.
    cordialement

    #51728
    lkjc
    Membre

    merci beaucoup.
    pour info, le bouton enregistrer existe déjà.
    le document initial a été fait sous indesign. j’ai ensuite exporté en pdf et mis des champs dessus.
    concernant reader extension, vous faites bien de le rappeler car on n’y pense pas forcement, mais pas de souci, le l’avais déjà activé.
    cordialement

    [attachment deleted by admin]

    #51729
    alex
    Participant

    Ci-joint la maquette pour vous aider à aller plus loin.
    Le script de document Analyse() se contente de vérifier qu’une saisie a bien été effectuée dans l’un des trois champs requis. Ce n’est pas suffisant pour un usage professionnel. Ce script est lançé en tant que script de format personnalisé.
    Je ne pourrai pas suivre ce fil dans les jours qui viennent.
    A bientôt.

    [attachment deleted by admin]

    #51730
    Merlin
    Maître des clés

    Personne n’ayant encore réagi, je me permet d’insister sur l’inutilité de tout ceci :  le script ne peut contrôler que les actions utilisateur sur le bouton « Enregistrer » sans pouvoir empêcher ni contrôler l’utilisation d’un autre moyen d’enregistrement (menu, raccourci-clavier, barre d’icône, fermeture du doc., etc.).

    :geek:

    #51731
    alex
    Participant

    On est bien d’accord, mais on peut capter par un script lançé lors de l’enregistrement du formulaire, l’origine de l’action (bouton « Enregistrer » ou tout autre mode d’enregistrement » par menu ou clavier) et  éditer une alerte conseillant vivement l’usage de ce bouton plutôt que les commandes naturelles.

    #51732
    Merlin
    Maître des clés

    Oui, ça peut fonctionner si on met le script de contrôle dans l’action « Document sera enregistré ».
    :)

    #51733
    lkjc
    Membre

    merci à tous les deux pour vos précieux commentaires.

    I/ je suis ok sur le fait que l’on peut contourner le bouton pour enregistrer mais le questionnaire est assez court et la population à laquelle il est expédié ne cherchera pas midi à 14H dans 95% des cas.

    II/ Alex, votre fichier est exactement ce que je cherchais. Cependant j’ai juste un petit problème. :Euuuh:
    Comme je suis infographiste, je ne connais acrobat que pour le print et donc c’est mon premier questionnaire.
    j’ai tenté de faire un copié/collé de vos champs à la place des miens mais curieusement ils se collent tournés à -90° et je n’ai plus de message d’alerte.

    Dans votre message vous dites : « Ce script est lançé en tant que script de format personnalisé. »
    en fait je ne comprend pas ou se trouve le script pour le remettre dans mon doc.
    merci d’éclairer ma lanterne…  :idee:

    cordialement
    laurence

    #51734
    alex
    Participant

    Sur Acrobat 8 et 9:
    Script de document:
    Options avancées>Traitement du document>scripts JavaScript…
    Script de format personnalisé:
    Propriétés du champ texte>Onglet Format>Script de format personnalisé.

    #51735
    alex
    Participant

    Ma précédente maquette n’est pas au point.
    Voilà qui sera mieux (voir pièce jointe).
    Sur Acrobat 8 et 9:
    Script de document:
    Options avancées>Traitement du document>scripts JavaScript…
    Script sur action:
    Propriétés du champ texte>Onglet Action>Script de champ désactivé.
    Ici les tests sont faits sur les longueurs des chaînes de saisie, par exemple pour un email il faudrait au moins 3 caractères (au lieu de 1 dans mon exemple) , on progresse  mais on est loin d’une solution PRO!

    [attachment deleted by admin]

    #51736
    lkjc
    Membre

    merci beaucoup,
    effectivement on progresse à grands pas vers ce que je souhaite mettre en place.
    Reste juste une chose si ce n’est pas abuser…
    serait il possible que les alertes ne se déclenchent QUE lorsque les champs,AA1 OU AA2 sont cochés ?
    AA1 et AA2 sont les cases à cocher de la dernière question, voir image jointe.
    ( case France ou case Autre)
    En effet, dans votre formulaire l’alerte se déclenche dès l’ouverture. Il est plus logique qu’elle ne se déclenche qu’à la fin du questionnaire.

    merci
    cordialement

    [attachment deleted by admin]

    #51737
    alex
    Participant

    C’est possible. Je ne pourrai vous répondre que mercredi, je suis en vacance avec un iPad…. Donc sans acrobat . A bientôt.

    #51738
    lkjc
    Membre

    merci d’avance, bonnes vacances.
    cordialement

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