Fonction if/else Javascript

Signaler
Messages postés
5
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
29 novembre 2011
-
Messages postés
5
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
29 novembre 2011
-
Bonjour à tous,

Je suis en train de créer un bon de commande électronique "poussé" pour un client très exigent et je n'ai pas du tout l'habitude d'écrire des scripts. Votre aide me serait donc très précieuse !!!

Voilà le topo : j'ai créé mon bon de commande sous forme de formulaire PDF dans Adobe Acrobat Pro.

La grille à remplir par le client :


Le principe : le client rentre les quantités par taille et par coloris. le prix unitaire est fixe. Pour chaque colori de sweat, la quantité totale (nom du champ QUANTITE) et le prix total (nom du champ TOTAL) sont calculés automatiquement grâce à une formule intégrée dans Adobe Acrobat Pro.

Là où ça se complique : je ne sais pas écrire le script pour calculer automatiquement les frais de ports (nom du champ PORT) en fonction du nombre total d'article commandé (nom du champ invisible QUANTITE TOTALE).

Je dois utiliser une fonction javascript pour automatiser cette action. Après avoir navigué sur quelques tutoriels, la fonction "if/else" me paraîtrait adaptée, mais je ne sais pas du tout comment la formuler. Pourriez-vous svp m'aider à écrire ce script ?!

Par avance merci pour votre compréhension. N'hésitez pas à me demander des précisions si mes explications sont trop vagues
A voir également:

4 réponses

Messages postés
5
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
29 novembre 2011

Re-bonjour. Pour vous donner une idée de mes compétences et de l'avancée de mes recherches, voici l'une des nombreuses formules que j'ai tenté d'utiliser :

if (champ "UANTITE TOTALE" = 1)
{
"6,60";
}
else if (champ "UANTITE TOTALE" = 2)
{
"7,95";
}

ect...

else
{
"0,00";
}

Mais après plusieurs tentatives je suis vraiment bloqué
Messages postés
1771
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
20 novembre 2020
107
bonjour

quand on fait un teste il faut mettre deux fois le signe egale

if (champ "UANTITE TOTALE" == 1)
{
"6,60";
}

ensuite je ne connait pas le fonctionnement precis du javascript dans acrobat et surtout coment on recupere la valeur du champ port dans une page web on a accès a la valeur d'un champ grace a ce que l'on appel le DOM en faisant document.getElementById("le _nom_du_champ").value

le script ressemblerait a ca

var la_valeur=document.getElementById("le _nom_du_champ").value

if (la_valeur == 1)
{
"6,60";
}
else if (la_valeur == 2)
{
"7,95";
}

ect...

else
{
"0,00";
} 
Messages postés
5
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
29 novembre 2011

Merci pour votre réponse ! Je vais essayer et je reviendrais pour vous dire si ça a fonctionné. Cdt
Messages postés
5
Date d'inscription
samedi 19 novembre 2011
Statut
Membre
Dernière intervention
29 novembre 2011

Après plusieurs essais où il ne s'est rien passé, voici la formule sur laquelle je bloque :

var champ "QUANTITE TOTALE"=document.getElementById("PORT").value

if (champ "QUANTITE TOTALE" == 1)
{
"6,60";
}
else if (champ "QUANTITE TOTALE" == 2)
{
"7,95";
}
else if (champ "QUANTITE TOTALE" == 3)
{
"8,95";
}
else if (champ "QUANTITE TOTALE" == 4)
{
"9,95";
}
else if (champ "QUANTITE TOTALE" == 5)
{
"11,95";
}
else if (champ "QUANTITE TOTALE" == 6)
{
"11,95";
}
else if (champ "QUANTITE TOTALE" == 7)
{
"11,95";
}
else if (champ "QUANTITE TOTALE" == 8)
{
"13,95";
}
else if (champ "QUANTITE TOTALE" == 9)
{
"13,95";
}
else if (champ "QUANTITE TOTALE" == 10)
{
"13,95";
}
else
{
"0,00";
}

Le message d'erreur affiché est le suivant :
SyntaxError: missing ; before statement
1: à la ligne 2

J'ai essayé de placer ; un peu partout dans les premières lignes mais rien n'y fait, il m'affiche toujours le même message d'erreur.

Et puis je ne suis pas certain d'avoir correctement écrit ma formule dans sa globalité... Avez-vous une idée de ce qui ne va pas ?!

Merci d'avance pour vos retours !!!