abracadabraPDF › Forums › PDF – Général › Affichage valeur selon choix plusieurs listes déroulantes
- Ce sujet est vide.
-
CréateurSujet
-
24 juillet 2015 à 20:46 #45208
micka92
MembreBonsoir.
Je souhaiterais réaliser la chose suivante :
– J’ai 5 listes déroulantes avec pour choix 1, 2 et 3.
– Je souhaiterais faire apparaître ailleurs la plus grande des valeurs sélectionnéesJe pensais utiliser des masques à afficher et masquer pour faire apparaître la valeur nécessaire mais il y a peut-être plus pratique (je n’ai pas beaucoup de place pour le chevauchement des valeurs à afficher).
-
CréateurSujet
-
AuteurRéponses
-
25 juillet 2015 à 08:58 #59310
Merlin
Maître des clésBonjour.
Je crois qu’il faudrait que tu postes ton document ou bien une petite maquette ne contenant que les champs nécessaires…
:Smiley01:25 juillet 2015 à 19:47 #59311micka92
MembreBonsoir.
Voici l’exemple ci-joint.
Je souhaiterais que la plus grande valeur sélectionnée dans les 5 listes déroulantes apparaisse dans le champ texte.
3 août 2015 à 20:16 #59312micka92
MembreSomebody can help me ? :bonjour:
4 août 2015 à 07:17 #59313alex
ParticipantBonjour à tous,
Voici votre maquette. Pour chaque sélecteur, veiller à cocher la case “Valider la valeur sélectionnée immédiatement” (Onglet “Options”).
Un seul script de calcul est alors nécessaire pour obtenir le résultat dans le champ “champ”:v1=this.getField(“ld1”).value;
v2=this.getField(“ld2”).value;
v3=this.getField(“ld3”).value;
v4=this.getField(“ld4”).value;
v5=this.getField(“ld5”).value;
this.event.value=Math.max(v1,v2,v3,v4,v5);4 août 2015 à 09:25 #59314Merlin
Maître des clésAlex, merci pour ce script très utile s’il faut combiner ce calcul avec d’autres.
micka92, s’il n’y a pas d’autres calculs dépendants on peut aussi utiliser les fonctions de calcul d’Acrobat (voir capture).
4 août 2015 à 10:26 #59315micka92
MembreBonjour.
Un grand merci à vous deux ! :bonjour:
Il faudrait juste que je puisse faire apparaître un champ vide si la valeur est égale à 0 et ce serait parfait.
4 août 2015 à 13:38 #59316Merlin
Maître des clésAuquel cas il faut revenir au JavaScript.
v1=this.getField(“ld1”).value;
v2=this.getField(“ld2”).value;
v3=this.getField(“ld3”).value;
v4=this.getField(“ld4”).value;
v5=this.getField(“ld5”).value;
var resultat=Math.max(v1,v2,v3,v4,v5);
if (resultat = “0”)
{this.event.value = “”;}
else
{this.event.value = resultat;}5 août 2015 à 11:21 #59317micka92
MembreMerci Merlin !
Le champ apparaît bien vide avec ton script mais par contre la valeur max ne s’affiche plus… :oh:
5 août 2015 à 11:39 #59318micka92
MembreJe dois vraiment être mauvais…
J’ai créé ce script de calcul pour avoir le millième du produit de deux champs mais quand je clique sur le bouton “OK”, il s’efface et n’est pas pris en compte. :mur:
Code:v1=this.getField(“champ1”).value;
v2=this.getField(“champ2”).value;
resultat = (v1*v2)/1000;
this.event.value = resultat;5 août 2015 à 11:50 #59319Merlin
Maître des clésC’est “normal”… :Smiley11:
Je me suis trompé dans la condition, c’est un double-égal qu’il faut utiliser :
v1=this.getField(“ld1”).value;
v2=this.getField(“ld2”).value;
v3=this.getField(“ld3”).value;
v4=this.getField(“ld4”).value;
v5=this.getField(“ld5”).value;
var resultat=Math.max(v1,v2,v3,v4,v5);
if (resultat == “0”)
{this.event.value = “”;}
else
{this.event.value = resultat;}Désolé.
:bonjour:5 août 2015 à 11:55 #59320Merlin
Maître des clésJ’ai créé ce script de calcul pour avoir le millième du produit de deux champs mais quand je clique sur le bouton “OK”, il s’efface et n’est pas pris en compte.
Essaye plutôt :
v1=this.getField(“champ1”).value;
v2=this.getField(“champ2”).value;
event.target.value = (v1*v2)/1000;5 août 2015 à 12:11 #59321micka92
MembreToujours pas… il me l’efface encore ! :mur:
5 août 2015 à 12:14 #59322Merlin
Maître des clésJ’ai créé ce script de calcul pour avoir le millième du produit de deux champs mais quand je clique sur le bouton “OK”
Alors il va falloir développer un peu plus la problématique…
:joker:5 août 2015 à 12:17 #59323micka92
MembreQuand je mets mon script de calcul personnalisé et que je veux le valider (bouton OK), je retourne sur l’onglet “Calcul” mais avec pour choix “Valeur non calculée”. Résultat : le script n’apparaît pas et n’est pas pris en compte.
5 août 2015 à 12:29 #59324Merlin
Maître des clésLe porblème survient-il sur :
– un seul champ dans un seul document,
– plusieurs champs dans un seul document,
– plusieurs champs dans plusieurs documents ?5 août 2015 à 12:36 #59325micka92
MembreUn seul champ sur un seul document.
5 août 2015 à 12:38 #59326Merlin
Maître des clésSupprime ce champ et essaye d’en faire un autre tout neuf…
5 août 2015 à 12:41 #59327micka92
MembreJ’ai déjà fait cela me faisait la même chose.
Je viens de trouver… ce champ étant caché sous un autre masque, je passais par le bandeau de droite, sélectionnais mon champ concerné et allait dans ses propriétés. De cette manière, impossible d’écrire un quelconque script de calcul. Par contre, en décalant mon champ masque un peu et en faisant clique-droit puis propriétés sur le champ concerné, cela fonctionne !
5 août 2015 à 13:00 #59328micka92
MembreFinalement même avec mon script, cela fonctionne. Je ne suis pas si bête que cela tout compte fait… :jerisjaune:
Merlin, quelle est la différence entre this.event.value et event.target.value ?
5 août 2015 à 13:32 #59329Merlin
Maître des clésthis.event.value
this : dans ce document
event : l’évènement qui vient de survenir
value : valeur deevent.target.value
event : l’évènement qui vient de survenir
target : le champ qui est la cible de l’évènement
value : valeur deDans certains cas ça revient au même, des fois non.
Mais Alex ou quelqu’un de plus calé que moi t’en parlera beaucoup mieux.
:joker:13 août 2015 à 20:48 #59330micka92
MembreMerci Merlin pour tes explications.
Je ne comprends pas pourquoi mon script de touches personnalisé, qui doit afficher ou non un masque selon la valeur du champ ne semble fonctionner qu’après deux changements de cette valeur.
Dans l’exemple ci-joint, la valeur est de 14. Il faut que je saisisse deux fois 25 pour que le champ noir disparaisse.
13 août 2015 à 21:10 #59331Merlin
Maître des clésIl y a deux erreurs :
– c’est typiquement un script à utiliser en script de validation et non pas en script de touche perso.
Mais pour le coup ce n’est pas ça qui l’empêche de fonctionner.– C’est la première ligne du script qui fait foirer le calcul :
if (event.target.value < 20)
Ca veut dire “si la valeur contenue dans le champ est inférieure à 20”.Alors qu’il faut utiliser :
if (event.value < 20)
Qui veut dire “si la valeur de l’évènement qui vient de survenir (saisie utilisateur) est inférieure à 20”.Dans le 1er cas on lui demande de comparer la valeur qui est déjà dans le champ et qui est donc déjà validée.
Dans le 2e cas on lui demande de comparer la valeur qui vient d’être saisie et qui n’est pas encore validée.:Smiley01:
14 août 2015 à 17:03 #59332micka92
MembreEncore une fois merci Merlin ! :bonjour:
Il ne me reste plus qu’à empêcher l’impression du document tant qu’il n’est pas signé et le tour sera joué.
Oui je sais, tu n’es pas pour ce type de pratique mais dans mon cas, si l’utilisateur décide d’imprimer le document mais qu’il ne l’a pas signé, le numéro ne se génère pas et il n’a alors aucune valeur pour nous (chaque document doit avoir son numéro unique sous peine de non-conformité réglementaire).
Je n’ai rien trouvé pouvant m’aider sur ce point précis… :Euuuh:
14 août 2015 à 17:06 #59333Merlin
Maître des clésMoi c’est surtout “l’impression” qui me gène.
Parce-qu’on est au XXIe siècle…
:joker:15 août 2015 à 16:15 #59334micka92
MembreMon rôle est d’aller dans ce sens-là mais malheureusement le travail doit se faire aussi bien auprès de nos employés mais également de nos clients qui, très souvent, souhaitent impérativement le format papier.
Si jamais tu peux m’aider pour empêcher l’impression tant que le document n’est pas signé, je suis preneur par contre :jerisjaune:
15 août 2015 à 17:32 #59335Merlin
Maître des clésLe sujet a déjà été abordé plusieurs fois dans le forum, si ça ne suffit pas il ne te restera plus qu’à ouvrir un nouveau sujet.
:Smiley15:
15 août 2015 à 20:10 #59336micka92
MembreJe n’avais pas utilisé les bons mots clés et je ne trouvais donc pas ce que je voulais. C’est pour cela que je me suis permis de te demander mais en cherchant “bloquer impression” et non “signature impression”, j’ai trouvé mon bonheur.
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.