abracadabraPDF › Forums › PDF – Général › Plusieurs combo box contrôlent le même effet show/hide… – RÉSOLU › Répondre à : Plusieurs combo box contrôlent le même effet show/hide… – RÉSOLU
En fait c’est une simple question de logique, comme toujours.
:oh:
Ce script fonctionne :
/////////////////////////////////////////////////////////////////////////
var i1 = this.getField(“InPatient1”).value;
var i2 = this.getField(“InPatient2”).value;
var o1 = this.getField(“OutPatient1”).value;
var o2 = this.getField(“OutPatient2”).value;
var maValeur = “E078”;
if (!event.willCommit)
{
if (event.changeEx == maValeur)
{
this.getField(“PremiumCode”).display = display.visible;
this.getField(“E078Board”).display = display.hidden;
}
else
{
if ((i1 == maValeur) || (i2 == maValeur) || (o1 == maValeur) || (o2 == maValeur))
{
this.getField(“PremiumCode”).display = display.visible;
this.getField(“E078Board”).display = display.hidden;
}
else
{
this.getField(“PremiumCode”).display = display.hidden;
this.getField(“E078Board”).display = display.visible;
}
}
}
/////////////////////////////////////////////////////////////////////////
Mais…
Le piège se trouve ligne 15 (en bleu).
Il ne faut pas mettre exactement le même script dans chaque champ-liste, sinon on re-teste la valeur précédente du champ-liste actif, ce qui provoque le décalage.
Donc dans le champ InPatient1 on remplace la ligne 15 par :
if ((i2 == maValeur) || (o1 == maValeur) || (o2 == maValeur))
Dans le champ InPatient2 par :
if ((i1 == maValeur) || (o1 == maValeur) || (o2 == maValeur))
Etc.
Voir l’exemple ci-joint.
:bonjour:
[attachment deleted by admin]