abracadabraPDF › Forums › PDF – Général › Case à cocher qui conditionne à calcul puis à afficher un résultat à part…? › Répondre à : Case à cocher qui conditionne à calcul puis à afficher un résultat à part…?
Salut, ce que je ferais à ta place :
Mets des radio buttons à la place de checkbox, c’est peut-être moins esthétique mais cela correspondra mieux à ton besoin.
Si vraiment tu veux tes checkbox, j’a une solution un peu imparfaite mais qui fonctionnera :
sur chaque bouton, tu mets un évènement “bouton relâché” –> script JS
//On regarde pour chaque case si elle est activée ou non
for (k=5;k<=8;k++) { if (this.getField("C"+k).value == "Off") {cases_desactivees.push("C"+k)}}if (cases_desactivees.length !=4){ // Cas où il y a une case activée, on désactive toutes les autres cases
for (elem in cases_desactivees) { this.getField(elem).readonly = True; //Eventuellement si tu trouves ça plus joli, tu peux faire this.getField(elem).display = 1 pour cacher toutes les cases non activées
}
}else { //Cas où toutes les cases sont désactivées for (elem in cases_desactivees) { this.getField(elem).readonly = False; //this.getField(elem).display = 0
}}
Donc là, on empêche l’utilisateur de remplir deux checkbox.
Pour obtenir ta somme, ça va être un peu embêtant mais voila ce que tu peux ajouter, le mieux ce serait à l’intérieur de la boucle for du début, tu ajoutes les code suivant après le if :
if (k==5) { somme+=100+Number.parseInt(this.getField(“1proba”))+16+Number.parseInt(this.getField(“ttproba”)) } if (k==6) { somme+=50+Number.parseInt(this.getField(“1produit”))+16+Number.parseInt(this.getField(“ttprod”)) } if (k==7) { //Remplir avec le calcul de la somme
} if (k==8) { //Idem
} this.getField(“cotise”).value = somme;
}
Dis-moi si ça t’a aidé, si tu veux des précisions.