abracadabraPDF › Forums › PDF – Général › Numéro aléatoire sans répétition › Répondre à : Numéro aléatoire sans répétition
bonjour,
Voila ! Dans le fichier joint il y a un champ “Invisible” qui est… invisible et qui, une fois réinitialisé, est égale à “1,2,3,4,5,6,7,8”.
Puis le script dans chaque bouton (qui pourrait être en script de document) :Code:var str = this.event.target.name;
var n = str.indexOf(“.”);
var indice = parseInt(str.substring(n+1));
var str = this.getField(“Invisible”).value;
try {
var laTable = str.split(“,”);
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.”+indice).value=nb;
laTable.splice(n, 1);
this.getField(“Invisible”).value=laTable.toString();
} catch(e) {this.getField(“Number.”+indice).value=this.getField(“Invisible”).value}
this.event.target.readonly=true;Ici, j’ai mis les boutons en lecture seule une fois que l’on a appuyé dessus, et un bouton de réinitialisation de tous les champs.
@+
:bonjour:
Merci bebarth, ça fonctionne à merveille.
En fait, j’ai un bouton à côté de chaque patient pour annuler son numéro si le patient se retire et le remettre dans le champ invisible.
J’utilise ce code pour remettre le numéro dans le champ:
this.getField(“Invisible”).value = this.getField(“Invisible”).value + “,” + s1;
Cependant j’ai remarqué que le dernier numéro ne disparait jamais du champ invisible, alors si j’annule la dernière randomisation le numéro se retrouve 2 fois ou si j’annule disons le sixième patient, j’ai le dernier numéro et celui du sixième patient. Donc si je re-randomise, il est possible que 2 patients aient le même numéro.