Changer de page depuis une liste déroulante

Bonjour,
J’ai fait ce code:

#TITRE

Je voudrais qu’en choisissant une option du select, que je sois redirigé vers spip.php?page=mot&id_mot=#ID_GROUPE

Je n’arrive pas…

Merci d’avance…

Gérard OKONO

Re-bonjour,

Je me réponds à moi même.

Il semble que ce ne soit qu'une affaire de gestion d'ascenseur dans le
navigateur...

A bientôt.

hum. faudrait debugger et là, j'ai pas super le temps.

remplace le onchange par
onchange = "alert (this.selectedIndex.value);"

et regarde si deja, ca te retourne bien la bonne valeur quand tu cliques sur un element de ta liste.

Chag

Gérard OKONO a écrit :

Bonsoir chag,
modifié comme ça
<select onchange="window.location.href='spip.php?groupe' & this.selectedIndex.value;">
<BOUCLE_afrique(GROUPES_MOTS){id_groupe IN 9,10,11,12,13}{par titre}>
<option value="#ID_GROUPE">#TITRE</option>
</BOUCLE_afrique>
</select>

J'ai ceci comme résultat :
http://www.monsite.net/0

>pas comme ca :slight_smile:
>c'est malin d'avoir fais comme tu as fait mais ca a ses limites. avec un GET en method de ton form, tu auras >forcément une url de type <ACTION>?champ=valeur
>ou <ACTION>&cham=valeur si <ACTION> contient déjà un champ et une valeur.

>pour faire ce que tu veux, moi, je passerai par un évènement sur le select

>un truc du genre <select onchange="window.location.href='spip.php?mot' & this.selectedIndex.value;">

>1) ca ne marchera pas en cas de javascript desactivé.
>2) syntaxe a valider, je te donne la piste vite fait de tete
>3) y a peut etre plus joli/simple/court en jquery. a voir
>4) Je klaxonne
>5) obiwan kenobi

>Chag

>>Gérard OKONO a écrit :
>> Bonsoir Chag,
>>
>> Mon code modifié de cette sorte
>>
>> <form name="bloc" action="spip.php" method="GET">
>> <input type="hidden" name="page" value="mot" />
>> <select id="afrique" onchange="document.bloc.submit();" name="id_mot">
>> <BOUCLE_afrique(GROUPES_MOTS){id_groupe IN 9,10,11,12,13}{par titre}>
>> <option value="#ID_GROUPE">#TITRE</option>
>> </BOUCLE_afrique>
>> </select>
>> </form>
>>
>> J'ai les urls du genre :
>> spip.php?page=mot&id_mot=67 par exemple et cela marche.
>> Maintenant si je souhaite avoir un truc du genre :
>> spip.php?mot67, comment faire?
>>
>> Meilleures salutations.
>>
>> Gérard OKONO
>>

--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)

alors, meaculpa, il y avait une faute de frappe dans mon code :

<select onchange="window.location.href='spip.php?mot' + this.selectedIndex.value;">

ca devrait marcher et sinon, en jquery, ca aussi marche (chez moi en tous cas) (pour info, j'ai remplacé le & par + )

<select onchange="window.location.href='spip.php?mot' + $('#AllfieldsList').val();">

Chag

ps : pense bien a faire 'répondre a tous' quand tu répond sinon, je suis le seul a voir toute l'évolution de la conversation et ce genre de problème peut intéresser d'autres utilisateurs de la liste

Chag

Gérard OKONO a écrit :

Bonsoir,
>remplace le onchange par
>onchange = "alert (this.selectedIndex.value);"
Okay

>et regarde si deja, ca te retourne bien la bonne valeur quand tu cliques sur un element de ta liste.
undefined

Meilleures salutations.

Gérard Okono

--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)

Bonsoir,

alors, meaculpa, il y avait une faute de frappe dans mon code :

ca devrait marcher et sinon, en jquery, ca aussi marche (chez moi en tous cas) (pour info, j’ai remplacé le & par >+)

Que ce soit JS ou en Jquery, la boucle me renvoit ce code source

Afrique Australe Afrique Centrale
<option value="9">Afrique de l&#8217;Est</option>
<option value="13">Afrique de
 l&#8217;Ouest</option>
<option value="11">Afrique du Nord</option>
</select>

Mais en cliquent sur un element de liste sur la barre d'adresse j'ai cette url
[http://www.monsite.com/spip.php?motundefined](http://www.monsite.com/spip.php?motundefined)

J'ai l'impression que cet JS ou Jquery qui ne lit pas les value des options.

Que faire???

Gérard OKONO

* Krusti le Frogus tapuscrivait, le 17/08/2009 16:04:

Re-bonjour,

Je me réponds à moi même.

Il aurait mieux valu répondre à ton message que répondre dans un thread qui n'a rien à voir.
Regarde où est ta réponse à toi même :
http://thread.gmane.org/gmane.comp.web.spip.user/147129
Et ton "toi-même" :
http://thread.gmane.org/gmane.comp.web.spip.user/147040

--
RealET

Tu t'en es sorti avec ta liste deroulante ?

Gérard OKONO a écrit :

Bonsoir,

>alors, meaculpa, il y avait une faute de frappe dans mon code :
><select onchange="window.location.href='spip.php?mot' + this.selectedIndex.value;">
>ca devrait marcher et sinon, en jquery, ca aussi marche (chez moi en tous cas) (pour info, j'ai remplacé le & par >+)
><select onchange="window.location.href='spip.php?mot' + $('#AllfieldsList').val();">

Que ce soit JS ou en Jquery, la boucle me renvoit ce code source

<select onchange="window.location.href='spip.php?mot' + this.selectedIndex.value;">
<option value="12">Afrique Australe</option>
<option value="10">Afrique Centrale</option>

<option value="9">Afrique de l&#8217;Est</option>
<option value="13">Afrique de
l&#8217;Ouest</option>
<option value="11">Afrique du Nord</option>
</select>

Mais en cliquent sur un element de liste sur la barre d'adresse j'ai cette url
monsite.com - Ce site web est à vendre ! - Ressources et information concernant monsite Resources and Information.

J'ai l'impression que cet JS ou Jquery qui ne lit pas les value des options.

Que faire???

Gérard OKONO

--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)

Bonjour à tous,

Afrique Australe Afrique Centrale Afrique de l’Est Afrique de l’Ouest Afrique du Nord

Ce code marche parfaitement, mais le choix du premier élément ne marche pas (ne renvoit pas vers la page spécifiée). Les autres éléments marchent.

Quelqu’un peut m’aider?

Meilleures salutations.

Salut,
Gérard OKONO a écrit :

Ce code marche parfaitement, mais le choix du premier élément ne marche pas (ne renvoit pas vers la page spécifiée). Les autres éléments marchent.
Quelqu’un peut m’aider?

Est-ce que tu es sur la page du premier élément ?
Si oui, il n’y a pas besoin d’être envoyé vers elle.
Si non, tu peux contourner le problème en mettant un premier élément du style « Choisir » sans value.

Sylvain

hello,

en fait, le premier element ne fonctionne pas car quand la page est chargée, c'est celui qui est selectionnée mais l'event 'onchange' n'est pas déclenché (vu qu'il n'y a pas eu de changement).

Pour ma part, je rajouterai un element <option>Choisissez...</option> en début de liste. Ou alors mais ca demande de coder un peu, selon la page dans laquelle on est, selectionner l'option correspondante.

Par exemple, si on est dans spip.php?page=groupe&id_groupe=10 (afrique centrale), alors, il faut que la ligne correspondante soit selected

<option value="10" selected="selected">Afrique Centrale</option>

du coup, sur cette page, on pourra selectionner le premier element de la liste deroulante.

Chag

Gérard OKONO a écrit :

Bonjour à tous,

<select onchange="javascript:document.location.href='spip.php?page=groupe&id_groupe=' + this.options[this.selectedIndex].value;">
<option value="12">Afrique Australe</option>
<option value="10">Afrique Centrale</option>
<option value="9">Afrique de l&#8217;Est</option>
<option value="13">Afrique de l&#8217;Ouest</option>
<option value="11">Afrique du Nord</option>
</select>

Ce code marche parfaitement, mais le choix du premier élément ne marche pas (ne renvoit pas vers la page spécifiée). Les autres éléments marchent.

Quelqu'un peut m'aider?

Meilleures salutations.

--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)