Sélectionner plusieurs éléments JS

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour, je viens ici pour une simple question.

document.getElementById('unBouton_' + *).disabled = true;


Je m'explique, j'ai plusieurs "unBouton", et là seul chose qui change c'est l'id que je rajoute juste après je underscore (ex : unBouton_12).

Donc je voudrais bloquer tout mes boutons, mais l'opérateur '*' ou '%' je fonctionnent pas, ou je m'y prends mal.

Une idée ?

Merci d'avance.

2 réponses

RAD ZONE Messages postés 5230 Date d'inscription   Statut Contributeur Dernière intervention   1 360
 
Salut

non tu ni arrivera pas comme ca ;-)

le plus simple est de donner une class a tes boutons et de faire un
getElementByClassName('taClass').disabled = true;

https://developer.mozilla.org/fr/docs/Web/API/Document/getElementsByClassName

a+
4
bg62 Messages postés 23732 Date d'inscription   Statut Modérateur Dernière intervention   2 409
 
salut à toi RAD ;)
0
Utilisateur anonyme
 
Salut tout le monde !

Merci de vos réponses, mais j'ai essayé avec un getElementsByClassName mais ça ne fonctionne pas... et je ne sais pas pourquoi...
0
Utilisateur anonyme
 
je suis en train d'essayer sur une page vierge... je vous tient au courant de mon avancé ;)
0
Utilisateur anonyme
 
donc voici ce que je viens de faire mais ça ne fonctionne pas :/

page HTML:
<!DOCTYPE html>

<html>

	<head>
		<script src="test.js"></script>
	</head>

	<body style="width: 1100px; margin: auto;">
		
		<a class="testClass" id="1" onClick="test(1)">TEST</a>
			<br />
		<a class="testClass" id="2" onClick="test(2)">TEST</a>
			<br />
		<a class="testClass" id="3" onClick="test(3)">TEST</a>
			<br />
		<a class="testClass" id="4" onClick="test(4)">TEST</a>
			<br />
		<a class="testClass" id="5" onClick="test(5)">TEST</a>
		
	</body>
</html>


page JS:
function test(id){
	document.getElementsByClassName('testClass').innerHTML="REUSSI";
	document.getElementById(id).innerHTML="boutonAvecMonID";
}


J'ai juste le texte du lien sur lequel je clique qui est remplacé par "boutonAvecMonID". mais tous les autres liens ne changent pas...
0
Utilisateur anonyme > Utilisateur anonyme
 
salut le père... je n'avais pas bien lu ton commentaire... donc ce que je viens de faire ne fonctionne pas, chose que tu savais déjà ;)

sinon je vais tenter d'envoyer tous les id que je veux avec une séparateur et faire un split entre chaque id et faire une boucle... je pense que c'est le seul moyen d'avoir un code assez court et bien fonctionnel.
0
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
Salut, je ne sais pas si il existe un truc prédéfini pour faire ceci mais tu peux créer une boucle pour le faire :

var nombre_id = 0;
var id_total = <ton nombre d'id>
while (nombre_id != id_total) { nombre_id++;
document.getElementById('unBouton_' + nombre_id).disabled = true; }


Un truc dans le genre :)
0
Utilisateur anonyme
 
Salut jiantox, merci de ta réponse, mais le problème c'est que ces différents boutons viennent d'une base de données... et donc des fois je peux avoir un trou dans l'ID. Je veux dire par là que je peux passer du 1 au 4 sans qu'il n'y ai de 2 et 3... donc le javascript va planté... :/
0
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
Tu peux donc tester si un ID existe avant d'essayer de le masquer :

while (nombre_id != id_total) { nombre_id++;
if (document.getElementById('unBouton' + nombre_id)) {
document.getElementById('unBouton_' + nombre_id).disabled = true; } }
0
Utilisateur anonyme
 
merci jiantox, du coup je viens de faire la méthode de "le père" ! Elle correspond mieux à mon système ;) Mais merci quand même de ton aide.

A très bientôt sur CCM ;)
0