abracadabraPDF › Forums › PDF – Général › Verrouilage de champ inefficace avec annuler
- Ce sujet est vide.
- CréateurSujet
- 3 décembre 2016 à 19:51 #45543
_seb_
ParticipantSalut tout le forum.
J’ai besoin de votre aide.
Je réalise des TP en PDF.
J’utilise des champs pour l’évaluation.
J’ai créé un bouton pour déverrouiller les champs avec un mot de passe et un bouton pour les verrouiller. (merci les script de http://abracadabrapdf.net :Smiley03:)
Problème si l’utilisateur fait annuler ou Ctrl+z après le verrouillage, les champs sont de nouveaux accessibles et il peut changer sa note.
Comment faire pour éviter ça ?
J’ai la solution de fermer le document et le ré-ouvrir mais ce n’est pas du tout pratique.
Merci pour votre aide.
- CréateurSujet
- AuteurRéponses
- 4 décembre 2016 à 07:08 #61738
MerlinMaître des clésBonjour.
Comment fais tu exactement pour verrouiller ces champs ?
JavaScript ?Qui met la note et verrouille le doc., l’utilisateur ou toi ?
4 décembre 2016 à 07:56 #61739_seb_
ParticipantBonjour,
Merci pour ton aide.
En pièce jointe un exemple.
Je lis les PDF avec Adobe Reader 11.
Les champs sont verrouiller par JavaScript.
L’élève fait son TP, quand il arrive sur une page d’évaluation il m’appelle.
Je clic sur « Evaluer », rentre mon mot de passe et j’évalue.
Je clic ensuite sur « Enregistrer » pour verrouiller les champs d’évaluation et enregistrer le fichier.
Et l’élève poursuit son TP, mais si il fait Ctrl+z ou annuler il peut modifier son évaluation.
4 décembre 2016 à 09:06 #61740
MerlinMaître des clésEffectivement, c’est top : non seulement ça annule la saisie mais en plus ça déverrouille les champs un par un… :mur:
J’ai la solution de fermer le document et le ré-ouvrir mais ce n’est pas du tout pratique.
Malheureusement je crois qu’il va falloir faire avec. :Smiley02:
4 décembre 2016 à 09:13 #61741_seb_
ParticipantIl y a la solution de modifier la note par JavaScript, un bouton pour incrémenter un autre pour décrémenter.
Mais ce n’est pas pratique, ça fera beaucoup de clic et de code.
edit :
- Fermer et réouvrir le document serait moins contraignant s’il s’ouvrait à la dernière page consultée. Mais il s’ouvre au début. Est-il possible de changer ?
- Où mettre le focus pour que le curseur se mette directement dans la fenêtre mot de passe quand je clic sur « Evaluer » ?
- Je voudrais changer le saveAs en Save c’est possible en javascript ? je n’y arrive pas
[/list]
fichier joint avec modification de la note par javascript4 décembre 2016 à 11:15 #61742
MerlinMaître des clésOui effectivement l’annulation ne fonctionne pas avec un remplissage via JavaScript, en utilisant un menu déroulant par exemple.
Comme dans le ci-joint.
:extra:4 décembre 2016 à 11:21 #61743
MerlinMaître des clésFermer et réouvrir le document serait moins contraignant s’il s’ouvrait à la dernière page consultée. Mais il s’ouvre au début. Est-il possible de changer ?
C’est un réglage accessible dans les Préférences (Document : Restaurer les derniers…) de chaque logiciel, sinon c’est certainement JavaScriptable
Où mettre le focus pour que le curseur se mette directement dans la fenêtre mot de passe quand je clic sur « Evaluer » ?
On ne peut pas, il faut utiliser la touche Tabulation
Je voudrais changer le saveAs en Save c’est possible en javascript ?
Non (pour raisons de sécurité).
4 décembre 2016 à 12:15 #61744_seb_
ParticipantC’est un réglage accessible dans les Préférences (Document : Restaurer les derniers…) de chaque logiciel, sinon c’est certainement JavaScriptable
Merci :PouceHaut:
On ne peut pas, il faut utiliser la touche Tabulation
J’ai testé :
– avec pdf xchange viewer et le curseur se place lui même, par contre la note ne se met pas à jour lors de l’évaluation :mur:
– avec Foxit Reader le curseur ne se place pas lui même, le mot de passe est en clair mais la note se met à jour lors de l’évaluation :mur:en utilisant un menu déroulant par exemple.
Comme dans le ci-joint.Merci beaucoup.
Je l’ai d’abord testé avec adobe reader XI et le verrouillage ne fonctionne pas. :mur:
Avec acrobat pro il fonctionne :Euuuh:4 décembre 2016 à 17:48 #61745
MerlinMaître des clésJe l’ai d’abord testé avec adobe reader XI et le verrouillage ne fonctionne pas.
En fait si… Le verrouillage fonctionne mais avec l’outil Main, c’est l’outil de sélection qui ignore le verrouillage. :oh:
J’ai déjà signalé ce bug à Adobe, c’est quand ils veulent… :priere:5 décembre 2016 à 09:25 #61746
bebarthMaître des clésbonjour,
J’arrive sur la discussion un peu tard, mais est-ce que le fichier doit être « Enregistré » ou « Enregistré sous » ?
Le bouton « Enregistrer » peut-être remplacer par une action ???
Si oui, je propose :this.getField(« prof »).value = 0;
// Enregistrement
var nomFichier = this.documentFileName;
var aMyPath = this.path.split(« / »); // Split Path into an array so it is easy to work with
aMyPath.pop(); // Remove old file name
aMyPath.push(nomFichier); // Add new file name
this.saveAs(aMyPath.join(« / »)); // Put path back together and saveLe fichier est directement enregistré sans avoir à Enregistrer sous… Remplacer…
@+
:bonjour:10 décembre 2016 à 06:55 #61747_seb_
ParticipantSalut bebarth
Je viens seulement de découvrir ta réponse.
Merci pour ton aide.
Le fichier doit être « Enregistré ».
J’ai testé ton code et je n’ai pas réussi à le faire fonctionner.
Quand je clic sur le bouton le fichier ne s’enregistre pas.
N’ayant pas de connaissance en javascript je ne suis pas capable de l’améliorer.11 décembre 2016 à 13:35 #61748
bebarthMaître des clésbonjour,
Que dit la console ???
Où se trouve le répertoire ou le fichier ? Il y a peut-être un problème de permissions d’écriture !!!
@+
:bonjour:11 décembre 2016 à 14:13 #61749_seb_
ParticipantBonjour,
Le fichier est sur le bureau (windows xp)
La console :
var nomFichier = this.documentFileName;
var aMyPath = this.path.split(« / »); // Split Path into an array so it is easy to work with
aMyPath.pop(); // Remove old file name
aMyPath.push(nomFichier); // Add new file name
this.saveAs(aMyPath.join(« / »)); // Put path back together and save
undefined
NotAllowedError: Les paramètres de protection interdisent l’accès à cette propriété ou à cette méthode.
Doc.saveAs:5:AcroForm:Button2:Annot1:MouseUp:Action1Edit :
Merci c’est résolu
J’ai pas eu le réflexe d’interroger la console
11 décembre 2016 à 17:39 #61750
bebarthMaître des clés…ça veut dire que ça marche ?
@+
:bonjour:11 décembre 2016 à 17:56 #61751_seb_
ParticipantOui ça fonctionne
Merci :Smiley01:
- AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.
