Donnez vie à vos documents numériques !
 

Champs obligatoires avant enregistrement

abracadabraPDF Forums PDF – Général Champs obligatoires avant enregistrement

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45039
    hugh
    Membre

    Bonjour,
    Je souhaite rendre obligatoire le remplissage de champs et le choix d’un item dans des listes déroulantes sur un PDF Dynamique avec un message d’erreur lorsque le client souhaite enregistrer le document si les champs/listes n’ont pas été renseignés. J’ai fouillé dans le forum mais je n’ai pas trouvé le script qui fonctionne (j’ai essayé de mélanger différentes infos trouvées mais rien ne fonctionne  :mur: ).
    Cela est-il possible ?, si oui quelqu’un peut m’aider ?.
    (PDF joint, champs/listes que je souhaite rendre obligatoires cerclés en rouge)
    Merci d’avance à vous, bonne journée, cordialement.

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

    Bonjour,

    – Oui, c’est possible. Il faut utiliser l’Action de document : (quand) Le document sera enregistré.
    Tous les scripts et méthodes nécessaires sont déjà détaillées dans le forum (recherche à faire sur « champ obligatoire »).

    – Je m’élève encore une fois contre ce type de méthodes, ce sont des aides à la saisie que l’on doit proposer aux utilisateurs, pas des contraintes à la saisie.
    Si pour une raison ou autre (fin de la journée de travail, autre chose à faire dans l’immédiat, maintenance informatique…) l’utilisateur doit enregistrer le formulaire avant d’avoir terminé il ne pourra pas.
    Et là pour lui ce sera une très très mauvaise « expérience utilisateur », du genre de celle qui te fait immédiatement passer à la concurrence et maudire tous les créateurs de formulaires jusqu’à la 7e génération…
    :tutut:

    – Contrairement à ce qu’annonce le message qui s’affiche à l’ouverture du document il n’y a pas de champs encadrés en rouge…

    :Smiley01:

    #58142
    hugh
    Membre

    Le souci est que je suis simple exécutant et que c’est le client interne qui exige que des champs/listes soient obligatoires et donc bloquantes….je lui ai déjà exposé ton point de vue (que je partage) mais c’est rentré par une oreille et aussitôt ressorti par l’autre  :extra:
    Je vais essayer de bidouiller quelque chose avec les différentes recherches que j’ai faites ce matin sur le forum….c’est pas gagné  :priere: :Euuuh:
    Merci, bonne journée.

    #58143
    alex
    Membre

    Voici une maquette illustrant la proposition de Merlin.
    A l’enregistrement, une alerte apparaît listant les saisies obligatoires manquantes.
    Attention, la couleur de bordure des champs de saisie obligatoire est gérée par le script.

    Bonne soirée.
    Alex

    #58144
    Merlin
    Maître des clés

    Bravo Alex.
    :bravo:

    Mais dans mon monde idéal le script permettrait de pouvoir enregistrer quand même, en connaissance de cause. Sinon je maudirais le créateur du document.
    :Smiley03:

    #58145
    hugh
    Membre

    Bonjour,
    :bravo: :bravo: :bravo: :bravo:
    Un grand merci Alex !!!!! C’est parfait  :bonjour:
    Encore bravo  :extra: , bonne journée.

    #58146
    Merlin
    Maître des clés

    Je suis [le formulaire de] Charlie.
    Je m’insurge vivement contre ce procédé.  :tutut:  :Smiley03:

    :geek:

    #58147
    auredubi
    Membre

    Bonjour,
    J’ai un peu le même problème que Hugh.
    J’ai un formulaire pdf avec des champs obligatoires.
    J’aimerais ajouter un bouton qui vérifie les champs obligatoires et affiche un message d’erreur si des champs sont non remplis (ça j’ai le début du script).
    A la suite de mon script j’aimerais que le fenêtre « enregistrer sous » s’ouvre. Quel script puis-je ajouter ?

    Je sais que ce n’est pas très conseillé, mais c’est la seule idée que j’ai eu pour vérifier que les champs sont complétés et les personnes devront dans tous les cas enregistrer le formulaire avant de me l’envoyer. Je suis preneuse d’autres idées

    Voici le script que j’ai déjà créé :
    var RequiredFields = new Array(3);
    RequiredFields[0] = « Nom »;
    RequiredFields[1] = « Adresse »;
    RequiredFields[2] = « Code Postal »;
    RequiredFields[3] = « Commune »;
    RequiredFields[4] = « Tel »;
    RequiredFields[5] = « E-mail »;
    RequiredFields[6] = « TVA intracommunautaire »;
    RequiredFields[7] = « Marque »;
    RequiredFields[8] = « Modèle »;
    RequiredFields[9] = « Nombre de rangs »;
    RequiredFields[10] = « Diamètre interne »;
    RequiredFields[11] = « équipement élément d’origine »;
    RequiredFields[12] = « kit pulvérisateur »;
    RequiredFields[13] = « FraisDePort »;

    var AlertMsg = new Array(3);
    AlertMsg[0] = « Veuillez remplir le champ « Nom » »;
    AlertMsg[1] = « Veuillez remplir le champ « Adresse » »;
    AlertMsg[2] = « Veuillez remplir le champ « Code Postal » »;
    AlertMsg[3] = « Veuillez remplir le champ « Commune » »;
    AlertMsg[4] = « Veuillez remplir le champ « Tel » »;
    AlertMsg[5] = « Veuillez remplir le champ « E-mail » »;
    AlertMsg[6] = « Veuillez remplir le champ « TVA intracommunautaire » »;
    AlertMsg[7] = « Veuillez remplir le champ « Marque » »;
    AlertMsg[8] = « Veuillez remplir le champ « Modèle » »;
    AlertMsg[9] = « Veuillez remplir le champ « Nombre de rangs » »;
    AlertMsg[10] = « Veuillez remplir le champ « Diamètre interne » »;
    AlertMsg[11] = « Veuillez remplir le champ « équipement élément d’origine » »;
    AlertMsg[12] = « Veuillez remplir le champ « kit pulvérisateur » »;
    AlertMsg[13] = « Veuillez remplir le champ « Frais de port » »;

    var bSuccess=true;
    var emptyTest=/^s*$/;
    var fieldCount=RequiredFields.length
    var fld=0;
    for(var i=0;i{
    fld=this.getField(RequiredFields);
    if(emptyTest.test(fld.value))
    {
    bSuccess=false;
    app.alert(AlertMsg
    );
    fld.setFocus();
    break;
    }
    }

    if(bSuccess==true)
    {var fTo = this.getField(« adressedest »);}

    #58148
    Merlin
    Maître des clés

    Je suis preneuse d’autres idées

    Une alerte soit affichée sur la page, soit qui se déclenche lors du clic sur le bouton et qui averti l’utilisateur que « Un formulaire incomplet ne sera ni traité ni retourné. »
    Point final.

    Les utilisateurs ne sont pas plus bêtes devant un formulaire interactif que devant un formulaire statique.

    :Smiley03:

    #58149

    – Je m’élève encore une fois contre ce type de méthodes, ce sont des aides à la saisie que l’on doit proposer aux utilisateurs, pas des contraintes à la saisie.
    Si pour une raison ou autre (fin de la journée de travail, autre chose à faire dans l’immédiat, maintenance informatique…) l’utilisateur doit enregistrer le formulaire avant d’avoir terminé il ne pourra pas.
    Et là pour lui ce sera une très très mauvaise « expérience utilisateur », du genre de celle qui te fait immédiatement passer à la concurrence et maudire tous les créateurs de formulaires jusqu’à la 7e génération…
    :tutut:

    En respectant cette conduite, comment peut on alors faire un envoi uniquement quand tous les champs sont remplis ?
    Merci

    #58150
    Merlin
    Maître des clés

    Depuis le début de ce sujet il est question de bloquer l’enregistrement du formulaire si certains champs ne sont pas remplis.
    C’est là que je ne suis pas d’accord parce-que je trouve ça contraignant pour l’utilisateur, qui ne peut pas faire ce qu’il veut alors que ça ne dérange personne.

    Là tu parles « d’envoi », donc il faut comprendre « envoi des données du formulaire » (submit en anglais), auquel cas il est impératif que tous les champs obligatoires soient remplis.
    Ce n’est pas le même cas de figure.

    Pour moi rien ne doit empêcher de pouvoir remplir partiellement un formulaire, de l’enregistrer, de continuer à le remplir le lendemain et de l’enregistrer, de finir de le remplir le surlendemain et de l’enregistrer, et de l’envoyer (submit) encore un jour plus tard.

    C’est certainement pour ça que le contrôle des champs obligatoire avant envoi (submit) est une fonction incorporée d’origine* dans les formulaires PDF (et les autres) alors qu’elle est rendue difficile à exécuter avant un bête enregistrement.

    Ce sont des aides à la saisie que l’on doit proposer à l’utilisateur final, pas des contraintes absurdes. (bis)

    :Smiley15:

    * Il suffit de cocher la case « Champ obligatoire ».

    #58151

    Il est bien question de l’envoi via messagerie de tous le pdf (données incluses).
    Si l’on utilise la commande via « fichier » et « envoyer le fichier » l’envoi se fait sans prendre en compte l’enregistrement préalable et les champs obliagatoires.
    Et si je (j’ai bien dit je) fabrique un bouton envoyer non plus.
    Je tourne en rond….

    #58152

    J’ai trouvé le bug.
    Dans mon formulaire (à partir d’un script de ce forum) j’ai insérer une case à cocher qui affiche (lorsqu’elle est activée) des champs obligatoires préalablement cachés.
    Acrobat considère qu’ils le sont toujours.
    Comment contourner ce problème ?

    Merci

    #58153
    Merlin
    Maître des clés

    Des champs obligatoires masqués ???
    Es-tu sérieux ?
    :oh:

    Bug, oui. Mais ça c’est un « bug humain ».
    :Smiley08:  :Smiley03:

    #58154

    Problème réglé le script était perfectible. Tout fonctionne bien même le bouton envoyer.
    merci

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