Paramétrage formulaire  (Lu 399 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  18 mars 2019 : 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  18 mars 2019 : 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


robinDDD  28 mars 2019 : 09:41

Salut Bebarth !


Alors tout marche comme un charme merci !

J'ai apporté quelques modifs suite au retour client.
J'ai une dernière question :

Ce doc doit être rempli par un manager et son collaborateur. À la fin de ce document, il y a une checkbox en lecture seule. Une fois le formulaire rempli, le manager l'envoie au collaborateur.
Lorsque le collaborateur ouvre le formulaire reçu par mail, cette même checkbox est rendue active. J'aimerai qu'elle devienne obligatoire. Quel code dois-je rajouter ?

Merci beaucoup !

Robin

IP archivée


bebarth  28 mars 2019 : 21:07

bonsoir,
Pour rendre le champ obligatoire :
this.getField("lacheckbox").required=true;
@+
 :bonjour:

IP archivée


robinDDD  01 avril 2019 : 18:10

bonsoir,
Pour rendre le champ obligatoire :
this.getField("lacheckbox").required=true;
@+
 :bonjour:


Merci Master !!  :bonjour:

IP archivée