11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour à toutes et tous,

Je suis débutant en JavaScript et je sollicite votre aide car là, j'avoue que je bloque un peu ^^.

J'ai 1 fonction qui me permet d'afficher/cacher une div "blocCustom" quand on clique sur l'option de mon 1e select "choix" et j'ai 1 autre fonction qui me permet d'afficher/cacher une 2e div "bloccom" qui elle aussi est activée quand on clique sur l'option de mon 2e select "theme".

Quand je test la première fonction seule, ça fonctionne. Quand je test la deuxième fonction seule, ça fonctionne (chaque fonction se trouve dans un fichier séparé).

Voilà mon souci:

Quand je test les 2 fonctions en même temps, la deuxième (fonction) fonctionne mais pas la première Smiley sweatdrop . On dirait que la deuxième fonction prend le dessus sur la première.

Voici mon code pour y voir plus clair:

Premier select "choix":

<script src="js/element_cacher.js"></script>
<select id="choix" name="pack" onchange="changementType(this)" required>
	<option value="PERSONNALISER">PERSONNALISER</option>
</select>
<div id="blocCustom" style="display:none"></div>

Première fonction

function changementType(oSelect) {
	var choix = oSelect.options[oSelect.selectedIndex].value;
	var choix = document.getElementById('choix').value;
	var div = document.getElementById("blocCustom");
	if (choix === "PERSONNALISER") {
		div.style = "display:block";
	} else {
		div.style = "display:none";
	}
}

Deuxième select "theme"

<script src="js/textarea_cacher.js"></script>
<select name="theme" id="theme" onchange="changementType(this)" required>
	<optgroup label="---------- CUSTOM ----------">
		<option id="custom" value="CUSTOM">PERSONNALISER</option>
	</optgroup>
</select>
<div id="bloccom" style="display:none"></div>

Deuxième fonction
function changementType() {
	var theme = document.getElementById('theme').value;
	var div = document.getElementById("bloccom");
	if (theme === "CUSTOM") {
		div.style = "display:block";
	} else {
		div.style = "display:none";
	}
}


Quelqu'un aurait il une idée svp ?
Modifié par Nos_ave (29 Jan 2017 - 03:23)
Bonjour.
Nos_ave a écrit :

Quand je test les 2 fonctions en même temps, la deuxième (fonction) fonctionne mais pas la première Smiley sweatdrop . On dirait que la deuxième fonction prend le dessus sur la première

N'est-ce pas logique puisque vous utilisez le même nom pour la deuxième fonction ?
Bonjour,

Pouvez vous me dire où j'utilise le même nom svp ? Car là je ne vois pas que c'est le même. J'ai "personnaliser" et "custom" pour les valeurs. Et pour les ID, j'ai "choix", "theme", blocCustom" et "bloccom".

Ou bien voulez vous parler du même nom des fonctions ?

Je ne vois pas du tout où ai je le même nom ? Pouvez vous m'expliquer svp ?
Modifié par Nos_ave (29 Jan 2017 - 14:21)
C'est bon j'ai trouvé mon erreur, c'était bien au niveau du nom des fonctions.

En fait, j'ai changé ma première fonction en "changementSelect" et la deuxième je l'ai laissé en "changementType".

Merci pour les infos Smiley smile .
Modifié par Nos_ave (29 Jan 2017 - 19:28)