- Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par , le il y a 1 mois et 4 semaines.
-
Sujet
-
Bonjour, j’ai des champs qui se nomment :
Aide.a.b
Je voudrais exécuter une action à la condition que l’indice b soit supérieur à 0.
J’avais pensé à ce code :
var nomChamp=this.getNthFieldName(i);
var b=nomChamp.substring(10, 11);
if (b>0) {....action à exécuter...}
Le souci c’est si le premier indice (a) possède un nombre de caractère supérieur à 1, alors la position de l’indice b va changer.
Comment faire pour remédier à cela?
En gros comment extraire la partie d’un nom de champ se trouvant après le 2ème point
Question annexe : si j’avais voulu extraire l’indice a se trouvant entre les 2 points (et quelque soit la valeur de cet indice) comment aurais-je pu faire? (je n’ai pas besoin de ce code maintenant mais je pense qu’il me sera utile un jour)
L’autre souci c’est que lorsque je rajoute cette condition (indice b>0), le script me fait planter le logiciel. Ci-dessous le script complet :
function Raz() {
decocheCorr();
this.getField("Erreurs").value = 0;
this.getField("meca").value = "\u00a9\u0020\u004d\u002e\u0020\u0043\u0061\u0072\u0063\u0061\u0073\u0073\u006f\u006e\u0020\u002d\u0020\u006d\u0065\u0063\u0061\u0030\u0035\u002e\u0066\u0072\u0020\u002d\u0020\u0061\u0064\u006d\u0069\u006e\u0040\u006d\u0065\u0063\u0061\u0030\u0035\u002e\u0066\u0072 ";
this.getField("meca").readonly = true;
this.getField("meca").display = display.visible;
this.getField("cAc.").display = display.hidden;
for (var i=0; i<this.numFields; i++) {
var nomChamp=this.getNthFieldName(i);
if (nomChamp.indexOf("R.")==0) {this.getField(nomChamp).display=display.hidden;}
if (nomChamp.indexOf("Verifier.")==0) {this.getField(nomChamp).readonly=false;}
if (nomChamp.indexOf("Recommencer.")==0) {this.getField(nomChamp).readonly=false;}
if (nomChamp.indexOf("Aide.")==0) {
var i=nomChamp.substring(10, 11);
if (i>0) {
this.getField(nomChamp).readonly=true;
this.getField(nomChamp).display=display.hidden;
this.getField("Aide.1.0").display=display.visible;
}
}
if (nomChamp.indexOf("Aller")==0) {this.getField(nomChamp).readonly=false;}
if (nomChamp.indexOf("Doc.")==0) {this.getField(nomChamp).readonly=false;}
if (nomChamp.indexOf("Vid.")==0) {this.getField(nomChamp).readonly=false;}
if (nomChamp.indexOf("Raz")==0) {this.getField(nomChamp).readonly=false;}
if (nomChamp.indexOf("Menu.5")==0) {this.getField(nomChamp).value=1;EditReps();}
if (nomChamp.indexOf("Menu.17")==0) {this.getField(nomChamp).value="";}
if (nomChamp.indexOf("Q.")==0) {this.getField(nomChamp).fillColor=color.transparent;
this.getField(nomChamp).readonly=false;
if (this.getField(nomChamp).type=="text") {this.getField(nomChamp).value="";}
else {this.getField(nomChamp).value=this.getField(nomChamp).getItemAt(0,false);}
}
var n1=nomChamp.indexOf(".");
var n2=nomChamp.lastIndexOf(".");
if (Number(nomChamp.substring(n1+1,n2))>1) {this.getField(nomChamp).display=display.hidden;
}
}
}
Merci
- Vous devez être connecté pour répondre à ce sujet.