balise invalide + iE (Onclick)

Invité
Invité n'ayant pas de compte PHPfrance

29 août 2006, 15:14

Code : Tout sélectionner

<form method="post" action=""><p> votez : <select name="vote"> <option value="un" onclick="document.location='article.php?votant=1&vote=1&page=0&id_article=2'">1</option> <option value="deux" onclick="document.location='article.php?votant=2&vote=1&page=0&id_article=2'">2</option> <option value="trois" onclick="document.location='article.php?votant=3&vote=1&page=0&id_article=2'">3</option> <option value="quatre" onclick="document.location='article.php?votant=4&vote=1&page=0&id_article=2'">4</option> <option value="cinq" onclick="document.location='article.php?votant=5&vote=1&page=0&id_article=2'">5</option> </select></p> </form>
voila

Mammouth du PHP | 19672 Messages

29 août 2006, 15:33

Mouais, ben alors c'est que l'évènement onclick n'est pas pris en charge pour un élément <select> sous IE : la solution, utiliser un onchange dans la balise <select> et si les urls de redirections doivent varier selon l'option choisie, alors crée une petite fonction à laquelle l'évènement onchange va envoyer la sélection effectuée en paramètre. La fonction fera la redirection appropriée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

oci
Invité n'ayant pas de compte PHPfrance

29 août 2006, 16:09

merci mais je sais pas faire tout sa :) tant pis

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

29 août 2006, 18:02

En gros, un truc dans ce genre...
//
<form method="post" action="">
    <p>votez :
    <select name="vote" onchange="document.location='article.php?votant='+ this.value + '&vote=1&page=0&id_article=2'">
        <option value="un">1</option>
        <option value="deux">2</option>
        <option value="trois">3</option>
        <option value="quatre">4</option>
        <option value="cinq">5</option>
     </select></p>
</form>
sauf que je ne suis pas bien sûr du this.value.

C'est une piste.
À tester... ;)

Mammouth du PHP | 19672 Messages

29 août 2006, 18:06

sauf que je ne suis pas bien sûr du this.value.
Si si, c'est bien ça :)

Et l'idée de la fonction, c'est que dans l'url, tu as mis un chiffre et dans l'attribut value le même écrit en lettres : dans ce cas, change la valeur de value de façon à avoir la valeur en chiffre qui sera reprise dans l'instruction onchange.

Et dans cette manière de faire, ajoute une option vide (value="0" ou value="-1") au début du sélect, sinon, tu ne pourras jamais sélectionner l'option 1
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ocelote
Invité n'ayant pas de compte PHPfrance

30 août 2006, 05:40

je vous remercie, cela marche avec iE :)

oci
Invité n'ayant pas de compte PHPfrance

30 août 2006, 05:42

pour ceux qui en aurait besoin :

Code : Tout sélectionner

<form method="post" action=""> <p>votez : <select name="vote" onchange="document.location='article.php?votant='+ this.value + '&vote=1&page=<? echo $page_affichee-1 ?>&id_article=<? echo $nouv['id']; ?>'"> <option value="-1"></option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select></p> </form>

IE sucks
Invité n'ayant pas de compte PHPfrance

23 janv. 2011, 13:05

Merci pour l'aide.

Etant donné que ce post tombe dans les premiers résultats Google pour 'redirection onclick internet explorer', je me permets de dire que, en 2011 (c'est-à-dire environ 5 ans après la création de ce post), la détection des fonctions onClick sur les balises <option> n'est TOUJOURS PAS implémentée dans IE (qui en est à sa version 8, alors que Firefox en est à sa 3è). Cela est excessivement énervant. #-o. Il est temps de lancer une gigantesque pétition contre ce navigateur en carton pâte...

Conclusion : IE sucks !... mais ça, on le savait déjà.

Désolé, c'était mon petit coup de gueule de début d'année...

Administrateur PHPfrance
Administrateur PHPfrance | 977 Messages

04 mai 2011, 13:04

Modération :
Ce sujet est ces derniers temps très sujet à des spams, pour les éviter il est désormais verrouillé.
pro : http://www.ohweb.fr -> studio de développement en PHP, expertise en e-commerce, certifié PrestaShop
perso : http://www.olecorre.com -> un dico de termes informatiques

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]