Donnez vie à vos documents numériques !
 

Répondre à : Case texte grisée grâce à liste déroulante

abracadabraPDF Forums PDF – Général Case texte grisée grâce à liste déroulante Répondre à : Case texte grisée grâce à liste déroulante

#72529
bebarth
Maître des clés

bonjour,
Pour programmer ton formulaire plus facilement, il va falloir au préalable revoir les noms des champs et les valeurs d’exportations des menus déroulants. Tu imagines bien que si dans les formules on a uniquement des valeurs du type ” Absence de RDV préalable – 2 appels infructueux, demande de RDV “, le script va vite devenir illisible… Des chaines de caractères de ce type ne doivent être que des valeurs attribuées à des champs.

J’ai quand même fait l’exemple donné, mais Merlin à raison : pour établir une formule il faut une règle et non juste un ou des exemple :
if (!event.willCommit) {
if (event.changeEx==" Chantier non déclaré (CND)") {
this.getField("N° Téléservice de la Dict").fillColor=color.gray;
this.getField("N° Téléservice de la Dict").readonly=true;
this.getField("Si absence de RDV").fillColor=color.gray;
this.getField("Si absence de RDV").readonly=true;
this.getField("si rdv non respecté").fillColor=color.gray;
this.getField("si rdv non respecté").readonly=true;
this.getField("si non respect des prescriptions").fillColor=color.gray;
this.getField("si non respect des prescriptions").readonly=true;
} else {
this.getField("N° Téléservice de la Dict").fillColor=color.transparent;
this.getField("N° Téléservice de la Dict").readonly=false;
this.getField("Si absence de RDV").fillColor=color.transparent;
this.getField("Si absence de RDV").readonly=false;
this.getField("si rdv non respecté").fillColor=color.transparent;
this.getField("si rdv non respecté").readonly=false;
this.getField("si non respect des prescriptions").fillColor=color.transparent;
this.getField("si non respect des prescriptions").readonly=false;
}
}
Dans ton cas, s’il n’y a pas de règle bien définies, il faudra utiliser des “else if” pour chaque cas.
if (!event.willCommit) {
if (event.changeEx==" Chantier non déclaré (CND)") {
this.getField("N° Téléservice de la Dict").fillColor=color.gray;
this.getField("N° Téléservice de la Dict").readonly=true;
this.getField("Si absence de RDV").fillColor=color.gray;
this.getField("Si absence de RDV").readonly=true;
this.getField("si rdv non respecté").fillColor=color.gray;
this.getField("si rdv non respecté").readonly=true;
this.getField("si non respect des prescriptions").fillColor=color.gray;
this.getField("si non respect des prescriptions").readonly=true;
} else if (event.changeEx==" Absence de RDV préalable - 2 appels infructueux, demande de RDV") {
...
...
} else if (event.changeEx==" Non respect des prescriptions GRTgaz") {
...
...
} else {
this.getField("N° Téléservice de la Dict").fillColor=color.transparent;
this.getField("N° Téléservice de la Dict").readonly=false;
this.getField("Si absence de RDV").fillColor=color.transparent;
this.getField("Si absence de RDV").readonly=false;
this.getField("si rdv non respecté").fillColor=color.transparent;
this.getField("si rdv non respecté").readonly=false;
this.getField("si non respect des prescriptions").fillColor=color.transparent;
this.getField("si non respect des prescriptions").readonly=false;
}
}

Autre recommendation, pour les menus déroulants, pense à cocher la case “Valider la valeur sélectionnée immédiatement”.

@+
😎

Attachments:
You must be logged in to view attached files.