Donnez vie à vos documents numériques !
 

Verrouillage de plusieurs champs sauf certains suite à action sur bouton

abracadabraPDF Forums PDF – Général Verrouillage de plusieurs champs sauf certains suite à action sur bouton

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45291
    stefan13
    Membre

    Bonjour,

    J’ai un formulaire avec un certain nombre de champs (Texte, liste, case à cocher,…).
    Je souhaiterai avec un champ bouton faire un peu comme une signature numérique, à savoir, verrouiller tous les champs en amont (avant) de ce bouton et laisser déverrouiller les champs en aval (après) de ce bouton.
    J’utilise ce code qui fonctionne avec 1 critère :

    Code:
    for (var i = 0; i var f = this.getNthFieldName(i);
    if  (f.substring(0,12) != « Notification »)
    this.getField(f).readonly = true;

    Mais dès que je rajoute un autre critère soit 2 au total, cela ne fonctionne plus

    Code:
    for (var i = 0; i var f = this.getNthFieldName(i);
    if  ((f.substring(0,12) != « Notification ») || (f.substring(0,4) != « Visa »))
    this.getField(f).readonly = true;

    Je ne sais comment faire et je souhaiterai avoir de l’aide.

    Je vous en remercie par avance.

    Stéphan

Affichage de 9 réponses de 26 à 34 (sur un total de 34)
  • Auteur
    Réponses
  • #59912
    bebarth
    Maître des clés

    bonjour,
    Voici ce que je te propose en script de calcul du champ « date » :

    Code:
    if (this.getField(« montant »).value!=0 && this.getField(« coupon »).value!= »CODE » && event.target.value!= »31/12/2019″) {
        this.getField(« montant »).readonly=true;
        this.getField(« coupon »).readonly=true;
        event.target.readonly=true;
    } else {
        this.getField(« montant »).readonly=false;
        this.getField(« coupon »).readonly=false;
        event.target.readonly=false;
    }

    Par contre, il ne faut pas se tromper, sinon impossible de modifier. Il faudrait peut-être mettre une fenêtre d’alerte qui récapitule les données afin de valider.
    Si quelqu’un à Acrobat Pro, il peut facilement  modifier le montant… Il faudrait peut-être mieux aplatir ces champs, mais si tu débutes ça devient un peut plus compliqué pour juste aplatir ces 3 champs.
    @+
    :bonjour:

    #59913
    Merlin
    Maître des clés

    Oui, que se passe-t-il si on se trompe de date ou si on change d’avis ?

    #59914
    o.vernay
    Membre

    Super, ce nouveau code fonctionne nickel. Et pour la fenêtre de validation c’est une super idée. Tu aurais une piste pour savoir comment je peux faire ça ?

    Le but pour le technicien va être de faire une copie du fichier « maître » et de le remplir avec le conditions du coupon qu’il aura créé dans notre back office (montant, nom du coupon et date de validité).
    Ensuite il l’envoie au client par mail et c’est le client qui se débrouille pour faire l’impression etc, etc…

    1/ les données sont créés dans le BO et figées, on ne peut plus les modifier
    2/ l’opérateur saisit ces données sur le chèque cadeau puis l’envoie par mail au client
    3/ le client remplit les infos qui l’intéresse puis l’offre à son destinataire (s’il sait comment modifier un PDF, il pourrait modifier le montant ou la date ou autre, mais ces infos ne pourraient pas être « rapprochées » des infos de notre back office).

    Mon but ici est simplement d’aider nos opérateurs dans la saisie de leur données en ayant un fichier un peu « sexy » et de limiter au maximum la possibilité de modification après coup (surtout côté client).

    Encore merci pour le coup de main !

    #59915
    Merlin
    Maître des clés

    pour la fenêtre de validation c’est une super idée. Tu aurais une piste pour savoir comment je peux faire ça ?

    if (app.alert({cMsg: « Texte du message« , cTitle: « Titre du message« , nIcon: 2, nType: 2}) == 4) {
    this.getField(« montant« ).readonly = true;
    this.getField(« coupon« ).readonly = true;
    this.getField(« date« ).readonly = true;
    }

    Remplace le 2 par un 1 pour changer les boutons Oui/Non en boutons OK/Annuler.

    Quel logiciel utilisent les techniciens ?
    Acrobat Pro/Standard, Acrobat Reader ou autre ?

    #59916
    Merlin
    Maître des clés

    PS : si c’est le même opérateur qui fait ça toute la journée on peut ajouter dans l’alerte une coche « Ne plus afficher » pour lui épargner le plaisir de devoir faire 100+ fois la même chose.
    :Smiley03:

    #59917
    o.vernay
    Membre

    GÉNIAL, merci pour ce petit ajout !

    PS : si c’est le même opérateur qui fait ça toute la journée on peut ajouter dans l’alerte une coche « Ne plus afficher » pour lui épargner le plaisir de devoir faire 100+ fois la même chose.
    :Smiley03:

    Et je veux bien cette petite option de case à cocher.
    Même s’il ne font pas ça toute la journée, ça pourrait être sympa pour eux en effet !

    #59918
    bebarth
    Maître des clés

    Voici pour moi :

    Code:
    var texteMessage= »Vous avez indiqué :n• Un montant de « +this.getField(« montant »).value+ » €n• Le code « +this.getField(« coupon »).value+ »n• La validité jusqu’au « +event.target.value+ »nnConfirmez-vous ces informations ? »;
    if (this.getField(« montant »).value!=0 && this.getField(« coupon »).value!= »CODE » && event.target.value!= »31/12/2019″ && app.alert({cMsg: texteMessage, cTitle: « Informations pour Chèque Cadeau », nIcon: 2, nType: 2}) == 4) {
        this.getField(« montant »).readonly=true;
        this.getField(« coupon »).readonly=true;
        event.target.readonly=true;
    }

    …Et je veux bien cette petite option de case à cocher.

    C’est un peu plus compliqué donc un peu plus long…
    @+
    :bonjour:

    #59919
    o.vernay
    Membre

    Bonsoir Merlin et bebarth,
    Un énorme merci pour l’aide apportée, ce nouveau fichier plaît beaucoup aux opérateurs. Mission accomplie
    :extra:

    Oliv

    #59920
    Merlin
    Maître des clés

    :bonjour:

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