Onclick=open.window ne marche pas sur ie et chrome [Résolu/Fermé]

Signaler
Messages postés
12
Date d'inscription
vendredi 19 octobre 2012
Statut
Membre
Dernière intervention
14 novembre 2013
-
deneb1992
Messages postés
12
Date d'inscription
vendredi 19 octobre 2012
Statut
Membre
Dernière intervention
14 novembre 2013
-
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>
>

4 réponses

Messages postés
1189
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
215
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.
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)
Messages postés
12
Date d'inscription
vendredi 19 octobre 2012
Statut
Membre
Dernière intervention
14 novembre 2013

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>
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...
Messages postés
12
Date d'inscription
vendredi 19 octobre 2012
Statut
Membre
Dernière intervention
14 novembre 2013

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.
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>
deneb1992
Messages postés
12
Date d'inscription
vendredi 19 octobre 2012
Statut
Membre
Dernière intervention
14 novembre 2013

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>