[SPIP Zone] Affichage conditionnel d'une saisie

J'ai plusieurs formulaires avec un premier paramètre permettant de choisir entre deux options et des paramètres additionnels qui ne s'appliquent que si l'une des options est choisies.

Je me demandait donc s'il y avait un mécanisme dans saisie permettant de spécifier une condition pour afficher une saisie. Par exemple, pour n'afficher mes paramètres optionnels que si l'option en question a été choisie (que ce soit avec la balise #GENERER_SAISIES ou la balise #VUES_SAISIES).
Un peu comme dans la configuration de l'espace privé ou certains champs ne sont affichés que si on a activé l'option. Par exemple, le fieldset 'Configuration des groupes de mots-clés' ne s'affiche que si on a activé l'utilisation des mots clés.

Si ce n'est pas disponible dans saisies, est ce envisageable ? complexe à coder ?

Cordialement

joseph

Le 09/04/2010 16:38, Joseph a écrit :

Si ce n'est pas disponible dans saisies, est ce envisageable ? complexe
à coder ?

Non ça n'existe pas.

Si c'est sur la même page, tu peux faire ça en javascript, et n'enregistrer que les bons trucs ensuite, c'est ce que fait formidable pour le choix du type de vérification (on choisit le type et ça affiche les options du type) ou bien sur la config des traitements (on choisit un traitement et ça affiche ses options).

En HTML tout est affiché sur la page (mais caché en JS) et ensuite derrière en PHP ça n'enregistre que les options de ce qui a été choisi.

Si c'est pour des choix venant d'autres pages, là je sais pas. À part modifier le tableau des saisies suivant tes besoins en amont.

--
RastaPopoulos

Le 09/04/2010 14:49, RastaPopoulos a écrit :
>
> Non ça n'existe pas.
>
> Si c'est sur la même page, tu peux faire ça en javascript, et
> n'enregistrer que les bons trucs ensuite, c'est ce que fait formidable
> pour le choix du type de vérification (on choisit le type et ça affiche
> les options du type) ou bien sur la config des traitements (on choisit
> un traitement et ça affiche ses options).
>
> En HTML tout est affiché sur la page (mais caché en JS) et ensuite
> derrière en PHP ça n'enregistre que les options de ce qui a été choisi.
>

C'est exactement ça.

Je peux l'intégrer dans le noiZetier, mais je me demandait s'il ne s'agissait pas d'un besoin plus générique (comme pliable et plie) auquel cas ça devrait être inclus dans saisies (pour la partie affichage, pas pour le traitement PHP).

Joseph

Le 09/04/2010 18:03, Joseph a écrit :

Je peux l'intégrer dans le noiZetier, mais je me demandait s'il ne
s'agissait pas d'un besoin plus générique (comme pliable et plie) auquel
cas ça devrait être inclus dans saisies (pour la partie affichage, pas
pour le traitement PHP).

C'est assez générique en effet, la question revient assez régulièrement...
et parfois aussi avec un besoin un peu plus évolué :
que les choix suivants (par ex les options d'un select)
soit générés dynamiquement selon les premiers choix.

JL

Le 09/04/2010 18:03, Joseph a écrit :

C'est exactement ça.

Je peux l'intégrer dans le noiZetier, mais je me demandait s'il ne
s'agissait pas d'un besoin plus générique (comme pliable et plie) auquel
cas ça devrait être inclus dans saisies (pour la partie affichage, pas
pour le traitement PHP).

Joseph

Pour ce qui est de cocher une case (ou choisir dans un select) et que ça affiche des options supplémentaires en Javascript, oui je pense aussi que ça peut être générique.

Faut trouver une manière de pouvoir le configurer proprement et génériquement. Par exemple deux champs comme ça :
"N'afficher ce champ que si :
<select> avec la liste des autres champs
vaut :
<input> où on peut rentrer une valeur"

À affiner pour essayer de couvrir le plus de cas possible...
(mais il faut d'abord s'occuper du JS des fieldsets pliables)

--
RastaPopoulos

Le 10/04/2010 14:04, RastaPopoulos a écrit :

Pour ce qui est de cocher une case (ou choisir dans un select) et que ça
affiche des options supplémentaires en Javascript, oui je pense aussi
que ça peut être générique.

Faut trouver une manière de pouvoir le configurer proprement et
génériquement. Par exemple deux champs comme ça :
"N'afficher ce champ que si :
<select> avec la liste des autres champs
vaut :
<input> où on peut rentrer une valeur"

À affiner pour essayer de couvrir le plus de cas possible...
(mais il faut d'abord s'occuper du JS des fieldsets pliables)

Que penses-tu d'une option si comme

si: '@autrechamps@ == "truc"'

ou

si: '@autrechamps@ == "truc" || @autrechamps@ == "machin"'

ou bien encore

si: '@autrechamps@ > 5'

à charge au plugin saisies de transformer @autrechamps@ par this.form.autrechamps.value dans un script js dans le cas de #GENERER_SAISIES ou pour faire un test PHP sur les variables d'environnement pour #VUES_SAISIES

PS : c'est juste une piste, je m'y connais très mal en javascript

Le 10/04/2010 20:48, Joseph a écrit :

Que penses-tu d'une option si comme

En fait j'essaye de trouver des options avec des valeurs "simples", parce que j'ai toujours en tête le fait que la saisie peut être configurer avec une interface (cf Formidable).

Ta méthode ou une variante pourrait bien marcher mais vla comment je vais galérer pour la transformer en interface graphique pour la configurer ! :slight_smile:

Le tout est d'arriver à trouver un truc puissant mais facile à configurer.

--
RastaPopoulos