abracadabraPDF › Forums › PDF – Général › Numéro aléatoire sans répétition › Répondre à : Numéro aléatoire sans répétition
Merci pour on aide bebarth.
Le problème de mon formulaire est que j’ai un bouton pour chaque numéro plutôt que 1 bouton pour randomiser les 8 patients en un seul clic.
J’ai “essayé” de modifier le code pour mettre dans chaque bouton. Donc dans le premier bouton j’ai mis le code où j’ai changé le “Number.”+i à 1:
for (var i=1; i<=8; i++) {
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.1”).value=nb;
laTable.splice(n, 1);
}
Cela fonctionne. Ensuite j’ai mis ce code dans le 2ième bouton et ça fonctionne:
{
var laTable=[2,3,4,5,6,7,8];
for (var i=2; i<=8; i++) {
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.2”).value=nb;
laTable.splice(n, 1);
}
}
if (this.getField(“Number.1”).value== “2”)
{
var laTable=[1,3,4,5,6,7,8];
for (var i=2; i<=8; i++) {
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.2”).value=nb;
laTable.splice(n, 1);
}
}
if (this.getField(“Number.1”).value== “3”)
{
var laTable=[1,2,4,5,6,7,8];
for (var i=2; i<=8; i++) {
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.2”).value=nb;
laTable.splice(n, 1);
}
}
if (this.getField(“Number.1”).value== “4”)
{
var laTable=[1,2,3,5,6,7,8];
for (var i=2; i<=8; i++) {
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.2”).value=nb;
laTable.splice(n, 1);
}
}
if (this.getField(“Number.1”).value== “5”)
{
var laTable=[1,2,3,4,6,7,8];
for (var i=2; i<=8; i++) {
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.2”).value=nb;
laTable.splice(n, 1);
}
}
if (this.getField(“Number.1”).value== “6”)
{
var laTable=[1,2,3,4,5,7,8];
for (var i=2; i<=8; i++) {
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.2”).value=nb;
laTable.splice(n, 1);
}
}
if (this.getField(“Number.1”).value== “7”)
{
var laTable=[1,2,3,4,5,6,8];
for (var i=2; i<=8; i++) {
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.2”).value=nb;
laTable.splice(n, 1);
}
}
if (this.getField(“Number.1”).value== “8”)
{
var laTable=[1,2,3,4,5,6,7];
for (var i=2; i<=8; i++) {
var n=Math.floor(Math.random()*laTable.length);
var nb=laTable[n];
this.getField(“Number.2”).value=nb;
laTable.splice(n, 1);
}
}
Mais pour le 3ième bouton, il faudrait que je mette les 56 possibilités pour changer laTable, ce qui est faisable… mais le 4ième bouton sera pire et rendu au 8ième bouton, ce sera quasi impossible.