Donnez vie à vos documents numériques !
 

Répondre à : Required _ Champs Obligatoire_Syntax Error

abracadabraPDF Forums PDF – Général Required _ Champs Obligatoire_Syntax Error Répondre à : Required _ Champs Obligatoire_Syntax Error

#69229
Merlin
Maître des clés

Bonjour

Ce script vérifie la valeur du champ cliqué avant d’agir en conséquence… Mais un champ de type bouton ne peut pas avoir de valeur, d’où le message d’erreur.

Le vrai problème est en amont : si aucun logiciel (donc pas seulement Acrobat) ne bloque l’impression par rapport aux champs obligatoires (contrairement à la fonction Submit ou à l’envoi par email) ce n’est pas un hasard.

1. Rien ne peut empêcher l’utilisateur d’imprimer normalement via l’interface de son logiciel (menu ou raccourci-clavier), donc sans utiliser le bouton “Imprimer”.

2. Un utilisateur peut avoir plein de bonnes raisons pour vouloir imprimer un formulaire tel quel et finir de le compléter avec un stylo, il serait donc malvenu de vouloir l’en empêcher.
En général lors de l’impression on utilise un script qui vérifie si les champs obligatoires sont tous remplis, et s’il ne le sont pas on affiche un avertissement à l’utilisateur mais sans le bloquer pour autant.

Et comme il faut que ça fonctionne même si l’utilisateur n’utilise pas le bouton qu’on lui a préparé on doit placer le script de vérification non pas dans le bouton mais en script d’évènement “Quand le document sera imprimé”.
Ce qui permet à l’utilisateur de pouvoir éventuellement ensuite annuler l’impression dans la boite de dialogue d’impression qui suit immédiatement l’alerte.
Voir (paragraphe 4) : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/

3. On peut donc aussi plus simplement se contenter d’afficher systématiquement une alerte lors de l’impression, donc sans vérification préalable des champs obligatoires, par exemple en plaçant ce script en script d’évènement “Quand le document sera imprimé” :

app.alert(“Merci de vérifier que tous les champs obligatoires soient correctement remplis avant l’envoi.nnAucun formulaire incomplet ne sera pris en compte.“);

:Smiley15: