abracadabraPDF › Forums › PDF – Général › calculs conditionnels liste et tarif dégressif › Répondre à : calculs conditionnels liste et tarif dégressif

Tu devrais utiliser la Console JavaScript : chaque changement de valeur provoque une liste d’erreurs longue comme une feuille A4…
==> https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/console-javascript-d-acrobat/
Dans le champ TP5HT on trouve ce script de calcul qui ne fonctionne pas :
// mise en variable des champs
var f = this.getField(« Q5 »);
var g = this.getField(« P5HT »);
// teste si le champ PRIX HT est vide
if (g.value == null || f.value == « »)
// s il est vide
event.value = 0;
//sinon, si pas vide
else
event.value = f.value * g.value
J’insiste encore sur l’importance de la syntaxe, des accolades, des parenthèses et du point-virgule qui marque la fin d’une instruction.
Le même script corrigé fonctionne correctement :
// mise en variable des champs
var f = this.getField(« Q5 »);
var g = this.getField(« P5HT »);
// teste si le champ PRIX HT est vide
// s il est vide
if (g.value == null || f.value == « ») {event.value = 0;}
//sinon, si pas vide
else {event.value = (f.value * g.value) * 1;}
Astuce : sur la dernière ligne j’ai mis le calcul entre parenthèses et je l’ai multiplié par 1, c’est un moyen de forcer JavaScript à considérer toutes les valeurs calculées comme des nombres et non pas comme des chaines de caractères, ce qui bloque parfois les calculs.