Page 1 sur 1

executer une fonction en boucle

Posté : 26 mars 2022, 11:52
par oumama
Bonjour
je suis debutante en js .
que dois je faire pour qu'une fonction puisse génèrer des mot de passe sur 4 input differents .voici le code basique en pj,merci d'avance .


<body>
<div class="main">
<h1 id="first-sentence">Generate a </h1>
<h1 id="second-sentence">a random password </h1>
<h3> never use an unsecured password again</h3>
<button id="button" onclick="genPassword()"> generate passewords</button>

<div class="passwords">
<input type="text" id="password" placeholder="genereate a password">
<input type="text" id="password2" placeholder="genereate a password">
<input type="text" id="password3" placeholder="ggenereate a password">
<input type="text" id="password4" placeholder="genereate a password">
</div>

</div>

<script>
function genPassword() {

let char="azertyuiopmlkjhgfdsqwnbvcxw123654789";
let password="";

let passLength=10;

for(let i=0;i<=passLength;i++){
let a = Math.floor(Math.random()*char.length);
password+=char.substring(a,a+1);
}
document.getElementById("password").value = password;
}



</script>
</body>

Re: executer une fonction en boucle

Posté : 26 mars 2022, 13:55
par webmaster
Bonjour,

Il faut ajouter un paramètre à la fonction pour lui indiquer le champ à remplir

Code : Tout sélectionner

function genPassword(champ) {

let char="azertyuiopmlkjhgfdsqwnbvcxw123654789";
let password="";

let passLength=10;

for(let i=0;i<=passLength;i++){
let a = Math.floor(Math.random()*char.length);
password+=char.substring(a,a+1);
}
document.getElementById(champ).value = password;
}
L'appel se fait alors avec

Code : Tout sélectionner

<button id="button" onclick="genPassword('password'); genPassword('password2'); "> generate passewords</button>

Re: executer une fonction en boucle

Posté : 03 juin 2026, 11:01
par philipcarson
Bonjour,
Vous pouvez conserver votre fonction de génération et simplement l'appeler plusieurs fois, une fois pour chaque champ. L'idée est de générer un nouveau mot de passe puis de l'affecter à chacun des 4 inputs (password, password2, password3, password4).
Au passage, dans votre boucle, utilisez plutôt i < passLength au lieu de i <= passLength, sinon vous obtenez un caractère de plus que prévu. C'est un bon exercice pour se familiariser avec les boucles et la manipulation du DOM. Bon apprentissage du JavaScript !