Donnez vie à vos documents numériques !
 

Condition : âge

abracadabraPDF Forums PDF – Général Condition : âge

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45215
    Gatorx
    Membre

    Bonjour à tous,

    j’ai de nouveau besoin d’un petit coup de main; en effet je n’arrive pas à écrire un script qui afficherait l’âge en rouge (si>22) si le menu déroulant indique le lien de parenté: ENFANT, sinon le texte reste en noir pour tout.

    Plus simple: si enfant age > à 22 age en rouge .

    j’ ai essayé de nombreuses combinaisons mais vu mon niveau je bloque atrocement :Smiley02: ce qui est frustrant c’est que j’ai l’impression de ne pas être loin de la solution. ou pas !

    D’avance merci de votre aide.

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

    Bonjour.

    – Dans les champs “âge” il faut placer le script en script de calcul et non pas en script de validation. Sinon les champs “âge” ne réagiront pas en cas de modification de la date ou du lien de parenté.
    Voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lordre-dexecution-des-evenements-dans-les-champs-de-formulaire-pdf/

    – J’ai encapsulé ton script dans une condition, ce qui nous donne :

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

    }
    else
    {event.target.textColor = color.black;}

    Exemple ci-joint (première ligne uniquement).
    :Smiley15:

    #59368
    Merlin
    Maître des clés

    Pour aller plus loin on peut mettre le script en fonction, et ensuite chaque champ ne passe que les variables.
    Ce qui augmente la vitesse de réaction du formulaire et simplifie beaucoup la maintenance des scripts.

    On crée la fonction en script de document, voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/

    Il n’y a qu’une seule ligne à changer dans laquelle on remplace le nom du champ concerné par un nom de variable (maListe) :

    function calculAge()
    {
    if (maListe.value == “ENFANT”)
    {
    if (event.value > 22)
    {event.target.textColor = color.red;}
    else
    {event.target.textColor = color.black;}
    }
    else
    {event.target.textColor = color.black;}
    }

    Ensuite dans chaque champ “âge” on n’a plus qu’à déclarer la variable et appeler la fonction en script de calcul :

    maListe = this.getField(“Dropdown10”);
    calculAge();

    #59369
    Gatorx
    Membre

    Bonjour à tous,

    Merci beaucoup Merlin, en fait j’étais loin de la solution je regarde ça en détail pour combler mon ignorance.
    Encore un grand merci à toi. :bravo:

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