Onclick=open.window ne marche pas sur ie et chrome

Résolu/Fermé
deneb1992 Messages postés 12 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 14 novembre 2013 - 20 oct. 2012 à 23:03
deneb1992 Messages postés 12 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 14 novembre 2013 - 22 oct. 2012 à 08:50
Bonjour,

voilà, tout est dit.
j'ai un select avec plusieurs options et je veux ouvrir une fenêtre lorsque l'utilisateur clique sur une option.
ça marche sur mozilla ( comme d'hab') mais pas sur IE, ni sur Chrome.
je cherche donc à l'adapter pour IE et chrome, mais sans succès.

voici mon code :
	

<select name="gens1" id="gens1">
 			<option value="01" >de 1 à 3 pers</option>
			<option value="02" >4 pers</option>
			
			<option value="04" onclick="window.open('contact.php?type=transfert aeroport 9-15 personnes','_self')">9 à 15 pers</option>
			<option value="05" onclick="window.open('contact.php?type=transfert aeroport 16-23 personnes','_self')">16 à 23 pers</option>
			<option value="06" onclick="window.open('contact.php?type=transfert aeroport plus de 24 personnes','_self')" >24 pers et +</option ></select>
>

A voir également:

4 réponses

mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 312
20 oct. 2012 à 23:35
Est-ce normal que tes liens contiennent des espaces ?

Si au lieu de déclencher l'ouverture du pop-up au clic, pourquoi ne pas essayé de le déclencher lorsque qu'un select est sélectionné.

Je ne sais pas si ca marchera mais tu peux toujours essayer.
0
Bonsoir,
Il faudrait faire un truc du genre :
<html>
<head>
	<title>&bull; Test - Ouverture nouvelle fenêtre sur select &bull;</title>
	<script type="text/javascript">
	function Change(formulaire){
		if(formulaire.gens1.selectedIndex != 0) {
			var personne = formulaire.gens1.options[formulaire.gens1.selectedIndex].value;
			window.open('contact.php?type=transfert-aeroport-' + personne + '-personnes');
		} else {
			alert('Veuillez choisir le nombre de personnes à tranférer!');
		}
	}
	</script>
</head>

<body>
<form>
	<select id="gens1" onchange="Change(this.form);">
		<option value="">Nombre de personnes</option>
 		<option value="1-3">1 à 3</option>
		<option value="4-8">4 à 8</option>
		<option value="9-15">9 à 15</option>
		<option value="16-23">16 à 23</option>
		<option value="24">24 et +</option>
	</select>
</form>
</body>
</html>

ça ouvrira dans un nouvel onglet du navigateur (testé sous IE9)
0
deneb1992 Messages postés 12 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 14 novembre 2013
21 oct. 2012 à 10:44
Merci

voici la réponse.
ok, onclick ne marche pas sur les options avec IE et chrome
function contact1(){
	
if(document.getElementById("gens1").selectedIndex == 3)
{F=window.open('contact.php?type=transfert aeroport 9-15 personnes','_self')
}	
if(document.getElementById("gens1").selectedIndex == 4)
{F=window.open('contact.php?type=transfert aeroport 16-23 personnes','_self')
}
if(document.getElementById("gens1").selectedIndex == 5)
{F=window.open('contact.php?type=transfert aeroport 24 pers et +','_self')
}		
}

<code>
<select name="gens1" id="gens1" onchange="contact1();">

 			<option value="01" >de 1 à 3 pers</option>
			<option value="02" >4 pers</option>
			<option value="03" >5 à 8 pers</a></option>
			<option value="04" >9 à 15 pers</option>
			<option value="05" >16 à 23 pers</option>
			<option value="06" >24 pers et +</option ></select>

</code>
0
Vachement optimisé ton code! Index 3 ne correspond pas au nombre de personnes (9-15 inscrit dans la fonction, 5-8 dans la liste déroulante, etc...) ni les autres index d'ailleurs. D'autre part, certains index ne sont pas pris en charge dans la fonction javascript. Et si tu dois rajouter des options dans la liste, tu dois chaque fois ajouter une condition dans ta fonction, or une fonction est faite pour tenir compte de l'évolution de ton script sans avoir à la modifier tous les 5mn.
Enfin si tu appelles ça de la programmation, libre à toi...
0
deneb1992 Messages postés 12 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 14 novembre 2013
21 oct. 2012 à 21:27
un peu dure comme remarques!
index3 correspond bien à 9-15 pers, etc.
et justement mon client veut une redirection différente pour ces catégories et rien pour les premières.
0
Tu trouves que ça correspond ? Juste un Copier/Coller de ton code ci-dessus :

if(document.getElementById("gens1").selectedIndex == 3)
{F=window.open('contact.php?type=transfert aeroport 9-15 personnes','_self')
}

<option value="03" >5 à 8 pers</a></option>
0
deneb1992 Messages postés 12 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 14 novembre 2013
22 oct. 2012 à 08:50
je confirme.
<tr>
<td height="35">Nb de passagers : </td>
<td height="25"><select name="gens1" id="gens1" >

<option value="01" >de 1 à 3 pers</option>
<option value="02" >4 pers</option>
<option value="03" >5 à 8 pers</a></option>
<option value="04" >9 à 15 pers</option>
<option value="05" >16 à 23 pers</option>
<option value="06" >24 pers et +</option ></select>
</td>
</tr>
0