- Ce sujet contient 12 réponses, 2 participants et a été mis à jour pour la dernière fois par , le il y a 3 mois et 3 semaines.
-
Sujet
-
Bonjour à toutes et à tous,
Je suis en train de préparer un formulaire pdf incluant un script de validation des champs obligatoires : l’objectif est de conditionner l’enregistrement du document au remplissage de tous les champs obligatoires (c’est un peu absurde, je sais, mais c’est le cahier des charges qui m’est imposé…). Pour ce faire, j’ai intégré le script ci-dessous en actions de document (« Le document sera enregistré ») et créé un bouton « enregistrer » auquel j’ai également associé le script (« exécuter un script », souris relâchée).
Voici le script (tel qu’intégré dans le document en PJ) :
var champsObligatoires = [“date”, “text1”, “text2”, “montant1”, “montant2”];
function validerChampsObligatoires() {
var formulaire = this;
for (var i = 0; i < champsObligatoires.length; i++) {
var nomChamp = champsObligatoires;
var champ = formulaire.getField(nomChamp);
if (champ.value === “”) {
app.alert(“Veuillez remplir tous les champs obligatoires.”);
return false;
}
}
return true;
}
this.getField(“Bouton_enregistrer”).setAction(“MouseUp”, “this.getAnnots()[0].submitForm({cURL: true});”);
this.getField(“Bouton_enregistrer”).setAction(“MouseUp”, “validerChampsObligatoires();”);
Premier problème : le script fonctionne une fois intégré, mais dès que je ferme le formulaire et que je l’ouvre à nouveau, il ne fonctionne plus…
Par ailleurs, j’aimerais faire évoluer le script pour que :
- Tous les champs obligatoires soient pris en compte sans avoir à les lister comme variables (le formulaire sur lequel je travaille en compte un certain nombre de toutes natures),
- La fonction de validation du formulaire soit également associée aux commandes « enregistrer » et « enregistrer sous » sous Acrobat Reader.
J’ai cherché dans les contributions du forum et ailleurs sans trouver de quoi résoudre mon problème… Quelqu’un peut-il me mettre sur la bonne voie ? Tous les bons conseils seront les bienvenus (et je sais qu’ils sont nombreux dans ce forum de très grande qualité, dont je salue les auteurs).
Merci d’avance pour votre aide 😉
- Vous devez être connecté pour répondre à ce sujet.