OnChange ne fonctionne pas dan IE [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 3 juin 2008
Statut
Membre
Dernière intervention
22 août 2011
-
Messages postés
2
Date d'inscription
mardi 3 juin 2008
Statut
Membre
Dernière intervention
22 août 2011
-
bonjour,

j'ai un select :

<select name="choice" onChange="changechoice(this);">
<option>choice1</option>
<option>choice2</option>
</select>


// et voici mon javascript.

function changechoice(choice)
{

with(choice)
{
if (value=="choice1")
{
document.location.href = 'choice1.html';;
}
if (value=="choice2")
{
document.location.href = 'choice2.html';;
}

}
}

voila ça fonctionne donc très bien avec google chrome ou firefox mais avec IE ca ne fonctionne pas... je ne comprends pas pourquoi ...

merci d'avance pour votre aide.

2 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
Bien le bonjour, vraiment firefox et chrome sont permissif, un peut trop d'ailleurs.
il faut passer par les selectedIndex et les options:
le code deviendrait donc:

<html>
<head>
<script type="text/javascript">
function changechoice(choice){
// Récupère la valeur sélectionnée.
var selectedValue = choice.options[choice.selectedIndex].value;
// En fonction de celle-ci redirige l'url.
switch (selectedValue){
case "choice1":
document.location.href = 'choice1.html';
break;
case "choice2":
document.location.href = 'choice2.html';
break;
}
// Il serait tout aussi simple de faire:
// si la valeur du choix est la page html de destination, le switch ci-dessus peut se résumer à cela:
// document.location.href = selectedValue +".html";
}
</script>
</head>

<select name="choice" onChange="changechoice(this);">
<option value="choice1">choix 1</option>
<option value="choice2">choix 2</option>
</select>



</html>


il ne faut pas oublier de mettre un attribut value sur les différentes options du select, c'est cet attribut qui sera testé dans la méthode changechoice et qui permettra une redirection.



[o-_-o]
Messages postés
2
Date d'inscription
mardi 3 juin 2008
Statut
Membre
Dernière intervention
22 août 2011

merci :D