Problème Javascript sous IE

Résolu/Fermé
Dauwn - 7 févr. 2012 à 13:53
 Utilisateur anonyme - 7 févr. 2012 à 16:35
Bonjour,
Je suis entrain de créer une page web avec un formulaire. Dans mon formulaire j'ai un <select> avec un évènement onclick sur les <option>. Sous Firefox et Chrome ça marche bien, mais sous IE rien ne se passe.

Voici mon code :
Dans le <head> :
<script type="text/javascript">
	function fermeEvents() {
	document.getElementById('ligneEvent').style.visibility='hidden';
	document.getElementById('astuceTypeMail').style.display='none';
	}
	function afficheEvents() {
	document.getElementById('ligneEvent').style.visibility='visible';
	document.getElementById('astuceTypeMail').style.display='block';
	} 
</script>


Puis dans mon <body> :
<table>
<tr>
	<td><label for="contentTypeMail">Type de mail :</label></td>
	<td><select id="contentTypeMail" name="contentMail"><option value="none" onclick="fermeEvents();return false;">Mail vierge</option><option value="event" onclick="afficheEvents();return false;">Annonce d'évènement</option></select></td>
</tr>
<tr name="ligneEvent" id="ligneEvent">
	<td><label for="eventChoisi">Evènement :</label></td>
	<td><select name="eventChoisi" id="eventChoisi">
			<!-- A cet endroit il y a une requête SQL qui marche parfaitement et qui retourne les différents éléments de BDD dans des <option> -->
		</select>
</td>
/tr>
</table>


Pouvez-vous m'aider à retrouver ce qui ne va pas pour IE ?


A voir également:

1 réponse

salut,
pourquoi d'utiliser onclick sur les option d'un select ? C'est normal que ça ne marche pas sur un navigateur qui demande une programmation rigoureuse comme IE. Puisque pour sélectionner une option il faut forcement cliquer et l'événement crée dans ce cas est onchange ( c'est le onclick sur l'option).
Donc c'est juste un mauvais usage des événements.
1
Salut,
merci pour ta réponse, mais en changeant l'évènement en onselect, ça ne résout pas le problème, et ça ne marche plus sous firefox non plus... Help :D
0
ah! oui c'est plutot onchange au niveau du select
0
D'accord, mais en recherchant un peu sur internet, je vois que l'évènement onchange n'a effet que sur les balises <input>, <select>, <textarea>. Comment j'dois faire alors si je veux que l'évènement se passe uniquement au choix d'un des <option> dans mon <select> ?
Merci pour tes réponses ;)
0
J'ai trouvé ceci :
<select onchange="window.location.href='this.value';>
<option value="page1.htm">valeur1</option>
<option value="page2.htm">valeur2</option>
<option value="page3.htm">valeur3</option>
</select> 


Je vais essayer :)
0
Avec javascript il y a des centaines de méthodes donc pas de soucis. La plus simple est :
onchange="fonction_a_executer()"
et dans cette fonction tu as document.getElementById('contentTypeMail').value qui sera la valeur de l'option choisie, donc Mail vierge, ou Annonce d'évènement. et avec une condition if tu peux exécuter tes fonctions selon l'option selectionnée
0