Donnez vie à vos documents numériques !
 

Répondre à : Lien bouton radio et liste

abracadabraPDF Forums PDF – Général Lien bouton radio et liste Répondre à : Lien bouton radio et liste

#71834
bebarth
Maître des clés
bonjour,

Un grand bravo. Aujourd’hui, vous avez fait un homme heureux 👌.

Certaines fois, il suffit de pas grand chose !

C’est juste parfait.

C’est exact !
En me relisant, je viens de m’apercevoir que la variable “menuDeroulant” de l’exemple précédent ne sert à rien… J’avais certainement dû modifier mon script et oublié de la retirer de la fonction !
Du coup la fonction s’écrit :
function affichage() {
this.getField("champ2").display=display.visible;
switch (event.changeEx) {
case "0":
var leMenu=[
["-SELECTIONNER-",0],
["Métier3",["-SELECTIONNER-","Cheval","Chien"]],
];
break;
case "1":
var leMenu=[
["-SELECTIONNER-",0],
["Métier1",["-SELECTIONNER-","Maison","Balcon"]],
["Métier2",["-SELECTIONNER-","Maison","Voiture"]],
];
break;
default:
var leMenu=[""];
this.getField("champ2").display=display.hidden;
this.getField("champ3").display=display.hidden;
}
this.getField("champ2").setItems(leMenu);
}
et pour l’appeler :
if (!event.willCommit) affichage();

Maintenant, si on veut approfondir l’apprentissage en JavaScript, on peut n’utiliser qu’une seule fonction avec plusieurs variables.
Ici le script n’est pas très long ce n’est donc pas très grave, mais s’il l’était ce serait plus intéressant.
Si par exemple le contenu des menus déroulants est identique, on peut écrire :
// Fontion à 2 variables
function affichage(menuDeroulant2,menuDeroulant3) {
this.getField(menuDeroulant2).display=display.visible;
switch (event.changeEx) {
case "0":
var leMenu=[
["-SELECTIONNER-",0],
["Métier3",["-SELECTIONNER-","Cheval","Chien"]],
];
break;
case "1":
var leMenu=[
["-SELECTIONNER-",0],
["Métier1",["-SELECTIONNER-","Maison","Balcon"]],
["Métier2",["-SELECTIONNER-","Maison","Voiture"]],
];
break;
default:
var leMenu=[""];
this.getField(menuDeroulant2).display=display.hidden;
this.getField(menuDeroulant3).display=display.hidden;
}
this.getField(menuDeroulant2).setItems(leMenu);
}
// Script pour champ1
if (!event.willCommit) affichage("champ2","champ3");
// Script pour champ4
if (!event.willCommit) affichage("champ5","champ6");
Une seule fonction commune et les 2 variables sont définies lorsqu’on appelle cette fonction…

@+
😎

  • Cette réponse a été modifiée le il y a 1 année et 4 mois par bebarth.
  • Cette réponse a été modifiée le il y a 1 année et 4 mois par bebarth.
Attachments:
You must be logged in to view attached files.