Un peu de théorie
Une liste déroulante, c’est :
<label for="idselect">L'étiquette de la zone de liste déroulante</label>
<select name="param" id="idselect">
<option value="">Faites votre choix</option>
<option value="1">Valeur 1</option>
<option value="2" selected="selected">Valeur 2</option>
<option value="3">Valeur 3</option>
<option value="4">Valeur 4</option>
</select>
Qui donne ceci :
avec la valeur 2 qui est présélectionnée.
Logiquement, quand on envoie un formulaire et que la page de résultat ré-affiche ce formulaire, on s’attend à ce que la liste déroulante soit positionnée sur la valeur que l’on a choisie.
Syntaxe SPIP
<label for="idselect">L'étiquette de la zone de liste déroulante</label>
<select name="param" id="idselect">
<option value="">Faites votre choix</option>
<option value="1"[(#ENV{param}|=={1}|?{' selected="selected"',''})]>Valeur 1</option>
<option value="2"[(#ENV{param}|=={2}|?{' selected="selected"',''})]>Valeur 2</option>
<option value="3"[(#ENV{param}|=={3}|?{' selected="selected"',''})]>Valeur 3</option>
<option value="4"[(#ENV{param}|=={4}|?{' selected="selected"',''})]>Valeur 4</option>
</select>
Signification de ce code
[(#ENV{param}|=={1}|?{' selected="selected"',''})]
signifie :
- prendre la valeur du paramètre d’URL nommé “param” (càd, le name du select) :
[(#ENV{param})]
- Voir s’il est égal à une valeur :
|=={1}
- S’il est effectivement égal à la valeur, renvoyer :
selected="selected"
, sinon, ne rien renvoyer :''
Exemples d’usage
- une recherche permettant de limiter les rubriques du site par liste déroulante
- une pagination par liste déroulante
- un calendrier avec choix de la période par liste déroulante
- ...
Discussions par date d’activité
4 discussions
Merci pour la signification de votre code, je planchais sur une boucle depuis 7 jours et j’ai enfin trouvé la solution grâce à ça !!!
Répondre à ce message
Bonjour j’essaye ce syntaxe mais ca ne marche pas :
Répondre à ce message
Abandonne Spip...
? Pourquoi ? Et pourquoi sous ce forum ?
Répondre à ce message
J’ai bien essayé ça :
Mais ça ne fonctionne pas... pas de message d’erreur non plus...
Merci Jacques, il faut éviter de faire ce que j’ai fait : un champ sélect qui s’appelle date (c’est une variable réservée à spip)... par contre mon problème est ailleurs et est du à la complexité de ma page... si cela intéresse quelqu’un :
Cela ne peut fonctionner puisque je prends le critère d’âge relatif (celui qui est passé en variable ou la variable date si rien n’est passé)... c’est pour cela qu’il faut que j’utilise date dans mon formulaire, cela me permet d’affecter une valeur à cette variable...
Si cela intéresse quelqu’un...
Merci
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |