changer toute la valeur des entrées avec le même identifiant en javascript

Comment puis-je changer toutes les valeurs des mêmes entrées id?

    

j’utilise

  document.getElementById("secure").value = '123456';  

Mais seul le premier change.

     

Vous devez d’abord changer id="secure" en class="secure"

HTML:

     

JavaScript:

  

Les identifiants doivent être uniques, c’est leur raison d’être. Les classes sont destinées à l’usage opposé, c’est-à-dire qu’il peut y avoir plusieurs instances d’une seule.

En supposant que vous modifiiez vos identifiants en classes, nous pouvons procéder comme suit:

 [].forEach.call(document.querySelectorAll('.secure'), function(el) { el.value = '123456'; }); 

N’utilisez pas le même identifiant plusieurs fois. Utilisez la classe plutôt que l’id. Pour voir le résultat, je supprime type="hidden" de votre code HTML.

 var list = document.getElementsByClassName("secure"); for (var i = 0; i < list.length; i++) { list[i].setAttribute("value", "12345"); } 
     

Cela fonctionne – vous devez référencer par classe, puis parcourir tous les éléments pour modifier réellement la valeur.

 

Vous devez append une classe pour chaque élément, car dans un document, les identifiants en double ne sont pas autorisés . Nous pouvons donc mieux conserver une classe commune de notre élément [j’ai également modifié les identifiants de vos éléments pour qu’ils restnt uniques]. getElementsByClassName() retourne une liste de noeuds du DOM. Nous itérons sur l’élément et mettons une certaine valeur. Enfin, pour tester, j’imprime la valeur par identifiant.