FONCTION SCRIPT

Fonction Script

Permet dans un formulaire d’afficher, par exemple, une information ou le résultat d’un calcul qui dépend de la saisie d’un ou de plusieurs autres champs saisis précédemment dans ce même formulaire. Pour l’utilisation de la fonction Script, il existe 3 parties :
  • Les constantes Script
  • Les variables Script
  • Les champs Résultats Script

Les constantes Script

Elles sont utilisées si besoin pour déclarer des valeurs constantes comme un taux de TVA, un jour de la semaine, un prix au litre, un mot etc. Son intérêt est de pouvoir, à un seul et unique endroit, changer cette valeur si nécessaire.

Pour cela : dans le Paramétrage du formulaire, aller sur l’onglet « Constantes Script » et cliquer sur « Ajouter une constante » :

  • Cocher « Activé » pour pouvoir l’utiliser
  • Saisir son nom (Ex : TVA20)
  • Saisir sa valeur (Ex : pour 20%, saisir : 0.2)

NB : lorsqu’on utilisera cette constante directement, elle sera considérée comme du texte : même si dans notre exemple nous avons saisi 0.2, ce ne sera pas considéré comme une valeur numérique mais comme une chaine de 3 caractères « 0.2 ».

Nous verrons plus loin dans les astuces, comment convertir une chaîne de caractères en valeur numérique et inversement.

Les variables Script

Les variables Script permettent de récupérer la valeur saisie d’un champ du formulaire, pour être utilisé dans un champ de type « résultat Script ».

Il est nécessaire de définir un nom de variable pour chaque champ du formulaire qui sera utilisé dans les scripts.

Dans le Paramétrage du formulaire, Onglet « Données »  pour chaque champ, définir l’information « Nom de la variable script ».

Le nom de variable ne doit pas avoir de caractères « espace » ou de caractères accentués.

Pour une bonne visibilité nous vous conseillons d’utiliser « _ » (Exemple pour un champ « Longueur du mur », le nom de variable pourrait-être : longueur_mur)

Les champs Résultats Script

C’est un champ utilisé pour saisir un script et pour faire apparaître le résultat de ce script. Le mobinaute ne peut pas saisir d’informations dans ce champ, il visualise uniquement le résultat.

Pour cela, dans le formulaire, aller sur l’onglet « Données » et cliquer sur « Ajouter un champ », les points importants sont :

·         Le « Type de donnée » doit être « Résultat Script »

·         Le « Script » : Partie la plus importante, c’est ici que l’on saisi le code du script

Les grandes règles pour le codage du script

  • Les variables internes : Si besoin, en début de codage, nous pouvons déclarer des variables qui seront utilisées en interne dans le codage.
  • Le « cœur » du script : C’est la partie réelle du traitement.
  • Afficher le résultat final : A la fin du traitement, le résultat est « Retourné » donc affiché et visible pour l’utilisateur en utilisant l’instruction « return »

Exemple

  • Voici un exemple, obtenir le calcul de coût de peinture pour un mur :

    Nous connaissons le prix HT au m² d’une peinture, et en saisissant la longueur et la hauteur du mur en mètres nous afficherons le montant de peinture TTC pour ce mur.

    Solution :

    ·         Le prix HT au m² est connu donc on définit une « Constante Script » nommée px_ht_peinture et saisir sa valeur (le point « . » sera le symbole décimale)

    ·         La TVA est connue donc on définit une « Constante Script » nommée tva20 et sa valeur sera : 0.2

    ·         La longueur et la hauteur du mur sont des informations qui seront saisies par l’utilisateur du formulaire, donc on créer 2 champs de type numérique dont les « Nom de la variable script » seront : longueur_mur et hauteur_mur

    ·         On créer enfin un champ de type « Résultat Script » et dans lequel la section « Script » sera :

    var montant_peinture = 0;    //variable interne qui sera le résultat final

    longueur_mur = longueur_mur.replace(« , », ». »);   //au cas où pour la virgule on aurait saisi une virgule « , »

    hauteur_mur = hauteur_mur.replace(« , », ». »);   //au cas où pour la virgule on aurait saisi une virgule « , »

    montant_peinture = parseFloat(longueur_mur)*parseFloat(hauteur_mur)*parseFloat(px_ht_peinture);    //montant HT du coût de la peinture

    montant_peinture = montant_peinture*(1 + parseFloat(TVA20));   //montant TTC du coût de la peinture

    return montant_peinture.toFixed(2);   //on retourne le résultat final arrondi à 2 décimales près

 

Astuces

 
Cette page en PDF :