Donnez vie à vos documents numériques !
 

Modifier la couleur en fonction de la valeur. – RÉSOLU

abracadabraPDF Forums PDF – Général Modifier la couleur en fonction de la valeur. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44419
    asengs
    Membre

    Bonjour,

    je souhaite modifier la couleur d’un champ afin de tracer les éventuelles modifications par rapport à la valeur d’origine. Pour cela j’utilise un champ 1 (lecture seule) qui stocke la valeur d’origine et un champ 2 (modifiable) pour l’utilisateur. J’ai saisi le script de validation suivant mais cela ne fonctionne pas :

    if(event.value != this.getField(“Champ1”).value)
    {event.target.textColor = [“RGB”,1,0,0];}
    else

    if(event.value = this.getField(“Champ1”).value)
    {event.target.textColor = [“RGB”,0,0,0];}

    En revanche, si je saisie une valeur (ex 100) au lieu d’essayer de faire appel à la valeur du champ1, cela fonctionne. je n’arrive pas à comprendre mon problème dans l’appel de la valeur du champ1.

    Merci d’avance pour votre aide.

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

    A-priori et à vue de nez c’est un certainement un problème d’égalité…
    :Smiley03:

    == compare deux valeurs
    = applique la même valeur

    Donc :

    if(event.value != this.getField(“Champ1”).value)
    {event.target.textColor = [“RGB”,1,0,0];}
    else
    if(event.value == this.getField(“Champ1”).value)
    {event.target.textColor = [“RGB”,0,0,0];}

    devrait mieux fonctionner.

    :Smiley01:

    #54500
    Merlin
    Maître des clés

    Code que l’on peut simplifier et rendre plus humainement compréhensible ainsi :

    if(event.value == this.getField(“Champ1”).value)
    {event.target.textColor = color.black;}
    else
    {event.target.textColor = color.red;}

    :bonjour:

    #54501
    Merlin
    Maître des clés

    PS : d’autre part il vaudrait mieux placer ce code en script de calcul, parce-que le script de validation ne s’exécute qu’après remplissage et désélection du champ concerné, donc s’il s’agit d’un champ verrouillé en lecture seule ça ne fonctionne pas du tout.

    :geek:

    #54502
    asengs
    Membre

    Bonjour Merlin,

    Merci encore pour ton idée.

    J’ai essayé de faire ce que tu préconisais mais ca ne semble pas fonctionner. Je joins un exemple

    J’ai peut être oublié quelque chose ?

    [attachment deleted by admin]

    #54503
    Merlin
    Maître des clés

    C’est le drame du copier-coller : l’erreur basique qui passe inaperçue au départ et qui se répète à l’infini…
    :mur:
    D’autre part il faudrait que je perde l’habitude de publier des scripts non testés !
    :geek:

    Si tu avais activé le Debugger (Préférences : JavaScript) ça t’aurais sauté aux yeux comme à moi : TypeError (faute de frappe) ==> c’est getField qu’il faut utiliser et non pas getfield.
    JavaScript est sensible à la casse ! (J’ai corrigé les messages précédents)

    :Smiley15:

    [attachment deleted by admin]

    #54504
    asengs
    Membre

    Ah oui en effet, erreur de débutant (mais j’en suis un)  :extra:

    je suis encore un peu novice donc c’est vrai que j’ai pas encore le reflexe d’activer le debugger ;)

    En tout cas je te remercie grandement pour ton aide et ton temps!

    #54505
    Merlin
    Maître des clés

    je suis encore un peu novice donc c’est vrai que j’ai pas encore le reflexe d’activer le debugger

    Même chose dans les Préférences de Adobe Reader.
    Voir aussi l’utilitaire Reader JavaScript Console Window* librement téléchargeable ici : http://www.pdfscripting.com/public/Free_Acrobat_Automation_Tools.cfm

    En tout cas je te remercie grandement pour ton aide et ton temps!

    :bonjour:

    * Permet d’afficher la Console dans Reader même quand il n’y a pas d’erreur…
    ;-)

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