Donnez vie à vos documents numériques !
 

Verrouilage de champ inefficace avec annuler

abracadabraPDF Forums PDF – Général Verrouilage de champ inefficace avec annuler

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45543
    _seb_
    Participant

    Salut 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.

Affichage de 14 réponses de 1 à 14 (sur un total de 14)
  • Auteur
    Réponses
  • #61738
    Merlin
    Maître des clés

    Bonjour.

    Comment fais tu exactement pour verrouiller ces champs ?
    JavaScript ?

    Qui met la note et verrouille le doc., l’utilisateur ou toi ?

    #61739
    _seb_
    Participant

    Bonjour,

    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.

    #61740
    Merlin
    Maître des clés

    Effectivement, 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:

    #61741
    _seb_
    Participant

    Il 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 :

    1. 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 ?
    2. Où mettre le focus pour que le curseur se mette directement dans la fenêtre mot de passe quand je clic sur “Evaluer” ?
    3. Je voudrais changer le saveAs en Save c’est possible en javascript ? je n’y arrive pas
    4. [/list]
      fichier joint avec modification de la note par javascript

    #61742
    Merlin
    Maître des clés

    Oui 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:

    #61743
    Merlin
    Maître des clés

    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 ?

    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é).

    #61744
    _seb_
    Participant

    C’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:

    #61745
    Merlin
    Maître des clés

    Je 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:

    #61746
    bebarth
    Maître des clés

    bonjour,
    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 save

    Le fichier est directement enregistré sans avoir à Enregistrer sous… Remplacer…
    @+
    :bonjour:

    #61747
    _seb_
    Participant

    Salut 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.

    #61748
    bebarth
    Maître des clés

    bonjour,
    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:

    #61749
    _seb_
    Participant

    Bonjour,

    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:Action1

    Edit :

    Merci c’est résolu

    mini_267232Image1New.jpg

    J’ai pas eu le réflexe d’interroger la console

    #61750
    bebarth
    Maître des clés

    …ça veut dire que ça marche ?
    @+
    :bonjour:

    #61751
    _seb_
    Participant

    Oui ça fonctionne

    Merci  :Smiley01:

Affichage de 14 réponses de 1 à 14 (sur un total de 14)
  • Vous devez être connecté pour répondre à ce sujet.