abracadabraPDF › Forums › PDF – Général › Champs obligatoires avant enregistrement
- Ce sujet est vide.
-
CréateurSujet
-
15 janvier 2015 à 09:11 #45039
hugh
MembreBonjour,
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. -
CréateurSujet
-
AuteurRéponses
-
15 janvier 2015 à 10:39 #58141
Merlin
Maître des clésBonjour,
– 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:
15 janvier 2015 à 11:49 #58142hugh
MembreLe 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.15 janvier 2015 à 18:54 #58143alex
ParticipantVoici 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.
Alex15 janvier 2015 à 20:12 #58144Merlin
Maître des clésBravo 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:16 janvier 2015 à 12:40 #58145hugh
MembreBonjour,
:bravo: :bravo: :bravo: :bravo:
Un grand merci Alex !!!!! C’est parfait :bonjour:
Encore bravo :extra: , bonne journée.16 janvier 2015 à 13:15 #58146Merlin
Maître des clésJe suis [le formulaire de] Charlie.
Je m’insurge vivement contre ce procédé. :tutut: :Smiley03::geek:
23 janvier 2015 à 14:21 #58147auredubi
MembreBonjour,
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”);}23 janvier 2015 à 15:09 #58148Merlin
Maître des clésJe 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:
23 janvier 2015 à 20:06 #58149ricardolandes
Membre– 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 ?
Merci23 janvier 2015 à 22:26 #58150Merlin
Maître des clésDepuis 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”.
24 janvier 2015 à 08:42 #58151ricardolandes
MembreIl 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….24 janvier 2015 à 09:37 #58152ricardolandes
MembreJ’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
24 janvier 2015 à 10:19 #58153Merlin
Maître des clésDes champs obligatoires masqués ???
Es-tu sérieux ?
:oh:Bug, oui. Mais ça c’est un “bug humain”.
:Smiley08: :Smiley03:24 janvier 2015 à 10:26 #58154ricardolandes
MembreProblème réglé le script était perfectible. Tout fonctionne bien même le bouton envoyer.
merci -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.