Paramétrage formulaire  (Lu 100 fois) Partager ce sujet Imprimer

1 B


robinDDD  05 mars 2019 : 13:24

Bonjour à tous,


J'ai créé un formulaire avec tout un tas de champs à remplir/cocher/dater etc. J'ai inséré un bouton envoyé le formulaire à la toute fin dans lequel il y a un script rendant le pdf généré en lecture seule.


J'ai 2 autres besoins pour lesquels je ne sais pas faire :


1/ Faire en sorte que le pdf ne soit ni rendu en lecture seule ni envoyé si tous les champs obligatoires ne sont pas remplis
2/ Faire en sorte que le fichier natif redevienne vierge d'information une fois le formulaire envoyé


Merci beaucoup pour votre aide !!


Robin

IP archivée


Merlin  05 mars 2019 : 13:46

Bonjour.

1/ Faire en sorte que le pdf ne soit ni rendu en lecture seule ni envoyé si tous les champs obligatoires ne sont pas remplis
"un bouton envoyé le formulaire à la toute fin dans lequel il y a un script rendant le pdf généré en lecture seule"
 :Euuuh:  :doute:
Il faudrait que tu sois plus précis et que tu utilises la terminologie d'Acrobat, parce-qu'à cette étape il y a plusieurs possibilités.
Où est placé ce script ? Quel est ce script ?


2/ Faire en sorte que le fichier natif redevienne vierge d'information une fois le formulaire envoyé
this.resetForm();

À placer à la fin du script 1.

Peux tu partager ton document ou une maquette ? Ce serait plus simple.
 :Smiley15:

IP archivée


robinDDD  05 mars 2019 : 14:09

Citer

Il faudrait que tu sois plus précis et que tu utilises la terminologie d'Acrobat, parce-qu'à cette étape il y a plusieurs possibilités.
Où est placé ce script ? Quel est ce script ?

Mea Culpa ^^, en dernière page du doc, j'ai créé un bouton que j'ai appelé "Envoyer". J'ai paramétré 2 actions lorsqu'on clic sur ce bouton :

1/ Souris relâchée --> Exécuter un script Javascript
2/ Souris relâchée --> Envoyer un formulaire

Le Script en question (que j'ai trouvé sur ici d'ailleurs) est :


for (var i=0; i<this.numFields; i++) {
   var fname = this.getNthFieldName(i);
   var f = this.getField(fname);
   f.readonly = true;
}


Merci Merlin

IP archivée


Merlin  06 mars 2019 : 11:09

Je ne vois aucun champ obligatoire dans ce document…  :doute:

Il faudrait qu'ils soient indiqués parce-qu'il faut adapter le script selon le type des champs concernés (text, checkbox, etc.).

IP archivée


robinDDD  15 mars 2019 : 16:03

Je ne vois aucun champ obligatoire dans ce document…  :doute:

Il faudrait qu'ils soient indiqués parce-qu'il faut adapter le script selon le type des champs concernés (text, checkbox, etc.).


Hello Merlin,


Désolé pour le délai de réponse !!


Voici le fichier modifié avec des champs obligatoires.


Pourrais-tu y jeter un oeil stp et me dire comment empecher l'envoi du formulaire si l'un des champs obligatoires n'est pas rempli ?


Merci beaucoup !


Robin

IP archivée


bebarth  Hier à 10:59

bonjour,
Voici ma proposition :
var j=0;
for (var i=0; i<this.numFields; i++) {
    var fname = this.getNthFieldName(i);
    var f = this.getField(fname);
    try {
       if (f.required && (f.value=="" || f.value=="Off")) j++;
    } catch(e) {};
}
if (j!=0) {
    app.alert("Tous les champs entourés d'un filet rouge doivent être remplis et toutes les évaluations doivent être renseignées",3);
} else {
    for (var i=0; i<this.numFields; i++) {
       var fname = this.getNthFieldName(i);
       var f = this.getField(fname);
       f.readonly = true;
    }
    this.mailDoc({
    bUI: false,
    cTo: "robin@pdjconnect.com",
    cSubject: "Sujet deu message",
    cMsg: "Texte du message."
    });
    this.resetForm();
    this.dirty=false;
}
On vérifie que tous les champs obligatoires ne sont pas vide et que les boutons radio sont renseignés.
Si c'est bon, on met tous les champs en lecture seule et on envoie le pdf avec mailDoc (c'est une copie qui est envoyée par la messagerie).
Ensuite on réinitialise le formulaire avec "this.resetForm();" et on indique qu'il n'y a pas besoin d'enregistrer avec "this.dirty=false;"
J'ai également ajouter des script pour vérifier la syntaxe des adresses e-mail et les premières lettres en capitales pour Nom et Prénom.
Je te laisse étudier ça !
@+
 :bonjour:


IP archivée


robinDDD  Hier à 15:10

Hello Bebarth !


Merci beaucoup pour ton retour !


Je teste tout ça et je te dis mais rien qu'à lire ce que tu as fait, ça à l'air top


Merci !


Robin

IP archivée