Modifier une liste de span les un après les autres "Onclick"
Bonjour !
Je suis actuellement en plein apprentissage des langages web. J'ai des bases très légères en JavaScript, c'est pour cela que j'espère pouvoir compter sur votre aide.
Je m'explique donc sur ce dont je souhaite réaliser. J'ai un code à 9 chiffres (bouton avec images + fonction onclick). Quand je click sur l'un de ces boutons, j'ai une fonction JavaScript pour récupérer la valeur associée aux boutons et l'entrée dans un input type texte (comme pour une calculatrice).
Mais j'ai aussi juste au-dessus de ces boutons 8 span en forme de cercle, l'objectif, c'est que dès que je click sur un boutons un des cercles au-dessus devient rouge pour avertir l'utilisateur qu'il a sélectionné un chiffre (ce dernier ne verra pas l'input type texte où il y aura les valeurs).
Objectif : Modifier les span un par un à chaque click sur un bouton sans que la fonction onclick touche tous les span en même temps.
Mon but : réaliser le code de déverrouillage iPhone.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
| <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<section class="sect d-flex">
<div class="connexion">
<div class="intro">
<h3> Entrez votre mot de passe </h3>
<div class="case-id">
<span value="1" class="ng-star-inserted"></span>
<span value="2" class="ng-star-inserted"></span>
<span value="3" class="ng-star-inserted"></span>
<span value="4" class="ng-star-inserted"></span>
<span value="5" class="ng-star-inserted"></span>
<span value="6" class="ng-star-inserted"></span>
<span value="7" class="ng-star-inserted"></span>
<span value="8" class="ng-star-inserted"></span>
<div class="delet" id="deletid" onclick="effacer()">
<i class="fa-solid fa-delete-left"></i>
</div>
</div>
<div class="box-mdp">
<form class="box-c" action="index-mdp.php" method="post">
<div class="bpce">
<button onclick="act(2)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;">1</button>
</div>
<div class="bpce">
<button onclick="act(0)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;">2</button>
</div>
<div class="bpce">
<button onclick="act(7)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;">3</button>
</div>
<div class="bpce">
<button onclick="act(4)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;">4</button>
</div>
<div class="bpce">
<button onclick="act(3)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;"></button>
</div>
<div class="bpce">
<button onclick="act(1)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;"></button>
</div>
<div class="bpce">
<button onclick="act(8)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;"></button>
</div>
<div class="bpce">
<button onclick="act(5)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;"></button>
</div>
<div class="bpce">
<button onclick="act(9)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;"></button>
</div>
<div class="bpce">
<button onclick="act(0)" type="button" tabindex="0" aria-disabled="false" role="button" center center no-repeat;"></button>
</div>
<input type="text" id="out" name="nv_pwd" style="visibility: hidden;" onkeyup="btnActivation()">
<div class="verifier">
<div class="btn-vvld">
<button id="buttonvn"> <span id="spanbuttonv"> Valider </span> </button>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
<style>
.box-c{
display: grid;
grid-template-columns: repeat(5, 34px);
grid-template-rows: repeat(2, 34px);
grid-gap: 8px 23px;
}
.bpce button{
width: 100%;
height: 100%;
border: 1px solid #979797;
border-radius: 35.49px;
}
.case-id .ng-star-inserted{
width: 18px;
height: 18px;
margin: 0 4px;
display: inline-block;
position: relative;
}
.ng-star-inserted::before {
content: "";
position: absolute;
width: 16px;
height: 16px;
top: 0;
left: 0;
border: 1px solid #333;
border-radius: 100%;
}
.ng-star-inserted::after {
content: "";
position: absolute;
top: 4px;
left: 4px;
width: 10px;
height: 10px;
border-radius: 100%;
background-color: #333;
transform: scale(0);
transition: transform .25s ease;
}
</style>
<script>
function act(val){
var number = val;
document.getElementById("out").value += number;
}
</script>
</body>
</html> |
Mon bouton effacer ne touche que le premier span
Désolé de te déranger Doksuri, j'aurai besoins d'un dernier service.
J'ai oublié de préciser que j'ai un bouton pour supprimer toutes les sélections précédentes, le problème, c'est que quand j'appuie sur mon bouton, j'arrive à supprimer que le premier span et tous les autre reste en rouge. Aurais-tu une solution ?