fonction "Onchange" - problème de compatibilité selon le navigateur
bonjour,
dans une page html, j'utilise la fonction "onchange" dans un formulaire pour appeler une autre page html.
Selon le navigateur utilisé, le résultat est correct ou non :
- Chrome :ok
- Firefox: non
IE : ok si j'autorise le contenu bloqué
Edge : ok si je débloque les fenêtres contextuelles
Opera : ok
sur iPad : ok avec Google, non avec Safari
Code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <!DOCTYPE HTML>
<html>
<head>
<title> -- </title>
<script language="javascript">
function myChangeHandler()
{
window.open(this.options[this.selectedIndex].value);
this.form.submit();
}
</script>
</head>
<body>
<form id="myform1" >
<select onchange="myChangeHandler.apply(this)">
<option value=""> </option>
<OPTION VALUE="../albums/2012-03-18--10 ans Association/index.html">2012-03-18--10 ans Association</OPTION>
<OPTION VALUE="../albums/2009-06-19--AG/index.html">2009-06-19--AG</OPTION>
</SELECT>
</FORM>
</body>
</html> |
Merci de votre aide
fonction "Onchange" - problème de compatibilité selon le navigateur
merci pour les réponses. Je ne suis pas assez compétent pour modifier le code et éviter "window.open".
il faut donc débloquer les fenêtres popup.
C'est vrai que la solution utilisant ul/li/href est bien plus simple et évite ce problème, mais je souhaitais utiliser le formulaire avec liste déroulante.
En fait, le code mentionné dans mon post est généré par un programme PHP. Extrait de ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <form id="myform1" >
<select onchange="myChangeHandler.apply(this)">
<option value=""> </option>
<?php
foreach ($dir as $key => $val) {
?>
<OPTION VALUE="<?php echo "../albums"; ?>/<?php echo $val; ?>/index.html"><?php echo $val; ?></OPTION>
<?php
}
?>
</SELECT>
<INPUT type="hidden" name="mdp" value="1" >
</FORM> |
Je mettrais une note sur ma page pour demander aux visiteurs de débloquer les popups, sinon j'utiliserai la méthode "ul/li/href" indiquée plus haut.
Merci encore
fonction "Onchange" - problème de compatibilité selon le navigateur