- Posts: 7
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Cacher un groupe de questions si l'autre est validé.
- Antho
- Topic Author
- Offline
- New Member
Less
More
9 years 1 week ago #118049
by Antho
Cacher un groupe de questions si l'autre est validé. was created by Antho
Bonjour bonjour !
J'aurais besoin d'un petit peu d'aide s'il vous plaît !
Je crée en ce moment un questionnaire, et j'ai créé deux groupes de questions bien distincts.
J'ai utilisé les groupes aléatoires pour tomber sur l'un ou l'autre aléatoirement à chaque début de questionnaire, puis j'ai aussi utilisé l'outil aléatoire dans mes groupes pour mes questions.
Bref, mon problème se situe dans le fait que je n'arrive pas à trouver comment faire pour que, si l'un de mes groupe de questions est choisi en premier en aléatoire, l'autre ne se montre pas après. Je pense qu'il faut utiliser le filtre conditionnel des groupes de questions, mais je n'arrive pas à réellement comprendre comment ça marche... J'essayais de trouer une formule pour dire que si l'autre groupe de questions a été validé, il ne faut pas montrer celui-ci, mais toutes mes démarches n'amènent à rien aha !
J'espère que j'ai réussi à donner assez d'infos !
Merci d'avance !
J'aurais besoin d'un petit peu d'aide s'il vous plaît !
Je crée en ce moment un questionnaire, et j'ai créé deux groupes de questions bien distincts.
J'ai utilisé les groupes aléatoires pour tomber sur l'un ou l'autre aléatoirement à chaque début de questionnaire, puis j'ai aussi utilisé l'outil aléatoire dans mes groupes pour mes questions.
Bref, mon problème se situe dans le fait que je n'arrive pas à trouver comment faire pour que, si l'un de mes groupe de questions est choisi en premier en aléatoire, l'autre ne se montre pas après. Je pense qu'il faut utiliser le filtre conditionnel des groupes de questions, mais je n'arrive pas à réellement comprendre comment ça marche... J'essayais de trouer une formule pour dire que si l'autre groupe de questions a été validé, il ne faut pas montrer celui-ci, mais toutes mes démarches n'amènent à rien aha !
J'espère que j'ai réussi à donner assez d'infos !
Merci d'avance !
The topic has been locked.
- Nickko
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 1957
- Thank you received: 411
9 years 1 week ago #118051
by Nickko
Nickko
Head of ergonomics, UX & UI.
Replied by Nickko on topic Cacher un groupe de questions si l'autre est validé.
Aléatoire = on modifie l'ordre.
Dans ton cas, il aurait fallu faire 3 groupes, le premier avec une fonction JS aléatoire et en fonction de ce résultat, on affiche l'un ou l'autre des groupes en utilisant les conditions.
Dans ton cas, pour ne pas tout modifier, j'ai bien une idée peut-être est-ce un peu tordu et le gestionnaire de condition ne te laissera pas faire, il faudra taper l'équation à la main sans doute.
Je vais d'abord t'expliquer mon idée en langage humain et ensuite je vais essayer de te guider pour la mettre en place mais je ne te promet pas que ça marche, je n'ai jamais eu à faire ça.
1. l'idée
On conserve tes groupes aléatoires
L'idée serait de mettre une condition sur le groupe tout entier et non sur une question.
Il faudrait faire afficher le groupe 2 que si aucune réponse n'a été choisis dans le groupe 1 et inversement.
Ainsi, si le groupe 1 s'est affiché le premier, le groupe 2 ne s'affichera pas et inversement.
Cela suppose que la première question de chaque groupe soit obligatoire, si ce n'est pas le cas, remplace la question 1 de chaque groupe dans mon raisonnement par n'importe quelle autre question du moment qu'elle est obligatoire.
Comprends-tu le principe ?
2. mise en oeuvre
Quand tu es au niveau d'un groupe, tu dois voir un champ "équation du filtre conditionnel" c'est ici qu'il faudra écrire ton équation "d'affichage".
Maintenant, j'avoue que je ne suis pas à l'aise avec l'écriture de tels équations.
Donc voici comment je m'y prends quand je dois faire ça.
Je vais dans la gestion des équations et je créé une condition comme je veux pour une question quelconque.
J'enregistre, je vais sur la question et je copie ce qui apparait dans le champ "équation du filtre conditionnel" de la question et je le colle dans celui du groupe.
Ensuite, je n'oublie pas de d'effacer la condition au niveau de la question en passant de nouveau par le gestionnaire de conditions.
Ensuite, je copie l'équation dans le champ "équation du filtre conditionnel" et je la modifie à la mains pour qu'elle corresponde au second cas.
Si tu veux on peut y aller pas à pas, tu me dis ce que tu fais, tu me copie-colle le résultat et je te dis précisément quoi faire pour l'étape suivante.
Dans ton cas, il aurait fallu faire 3 groupes, le premier avec une fonction JS aléatoire et en fonction de ce résultat, on affiche l'un ou l'autre des groupes en utilisant les conditions.
Dans ton cas, pour ne pas tout modifier, j'ai bien une idée peut-être est-ce un peu tordu et le gestionnaire de condition ne te laissera pas faire, il faudra taper l'équation à la main sans doute.
Je vais d'abord t'expliquer mon idée en langage humain et ensuite je vais essayer de te guider pour la mettre en place mais je ne te promet pas que ça marche, je n'ai jamais eu à faire ça.
1. l'idée
On conserve tes groupes aléatoires
L'idée serait de mettre une condition sur le groupe tout entier et non sur une question.
Il faudrait faire afficher le groupe 2 que si aucune réponse n'a été choisis dans le groupe 1 et inversement.
Ainsi, si le groupe 1 s'est affiché le premier, le groupe 2 ne s'affichera pas et inversement.
Cela suppose que la première question de chaque groupe soit obligatoire, si ce n'est pas le cas, remplace la question 1 de chaque groupe dans mon raisonnement par n'importe quelle autre question du moment qu'elle est obligatoire.
Comprends-tu le principe ?
2. mise en oeuvre
Quand tu es au niveau d'un groupe, tu dois voir un champ "équation du filtre conditionnel" c'est ici qu'il faudra écrire ton équation "d'affichage".
Maintenant, j'avoue que je ne suis pas à l'aise avec l'écriture de tels équations.
Donc voici comment je m'y prends quand je dois faire ça.
Je vais dans la gestion des équations et je créé une condition comme je veux pour une question quelconque.
J'enregistre, je vais sur la question et je copie ce qui apparait dans le champ "équation du filtre conditionnel" de la question et je le colle dans celui du groupe.
Ensuite, je n'oublie pas de d'effacer la condition au niveau de la question en passant de nouveau par le gestionnaire de conditions.
Ensuite, je copie l'équation dans le champ "équation du filtre conditionnel" et je la modifie à la mains pour qu'elle corresponde au second cas.
Si tu veux on peut y aller pas à pas, tu me dis ce que tu fais, tu me copie-colle le résultat et je te dis précisément quoi faire pour l'étape suivante.
Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
- Antho
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 0
9 years 1 week ago - 9 years 1 week ago #118052
by Antho
Replied by Antho on topic Cacher un groupe de questions si l'autre est validé.
Merci pour ta réponse !
C'est à peu près l'approche que j'avais essayé d'avoir à un moment, mais le souci c'est que la condition en elle-même est, "montrer la question si :", et là je suis obligé d'indiquer une valeur, inférieure, égale, ou supérieure, mais je ne vois pas comment indiquer "si la question n'est pas présente". De plus, toutes mes questions sont des valeurs comprises entre 1 et 9 car j'utilise un curseur.
A partir de là, il faudrait plus une fonction comme "not shown" ou "not answered" plutôt que par rapport à une valeur. Là, je viens d'essayer en mettant >= 10, en pensant donc que mon groupe allait se montrer si la valeur avait été à un moment >10 ( ce qui est possible car c'est compris entre 1 et 9), sauf que je n'avais pas prévu que cela allait me créer une double annulation, ce qui fait qu'aucun groupe n'a été montré aha !
J'étais donc parti sur une formule de ce type : ((P100et0_SQ001.NAOK >= "10"))
En mettant cette condition dans mon filtre de l'autre groupe.
Y a-t-il une possibilité d'inverser la condition ? Si la réponse à la question est ça, alors ne pas montrer cette question ?
En effet, à partir de là, je pourrais dire, si ma valeur à une question d'un groupe est <= à 10, alors ne pas montrer l'autre groupe.
C'est à peu près l'approche que j'avais essayé d'avoir à un moment, mais le souci c'est que la condition en elle-même est, "montrer la question si :", et là je suis obligé d'indiquer une valeur, inférieure, égale, ou supérieure, mais je ne vois pas comment indiquer "si la question n'est pas présente". De plus, toutes mes questions sont des valeurs comprises entre 1 et 9 car j'utilise un curseur.
A partir de là, il faudrait plus une fonction comme "not shown" ou "not answered" plutôt que par rapport à une valeur. Là, je viens d'essayer en mettant >= 10, en pensant donc que mon groupe allait se montrer si la valeur avait été à un moment >10 ( ce qui est possible car c'est compris entre 1 et 9), sauf que je n'avais pas prévu que cela allait me créer une double annulation, ce qui fait qu'aucun groupe n'a été montré aha !
J'étais donc parti sur une formule de ce type : ((P100et0_SQ001.NAOK >= "10"))
En mettant cette condition dans mon filtre de l'autre groupe.
Y a-t-il une possibilité d'inverser la condition ? Si la réponse à la question est ça, alors ne pas montrer cette question ?
En effet, à partir de là, je pourrais dire, si ma valeur à une question d'un groupe est <= à 10, alors ne pas montrer l'autre groupe.
Last edit: 9 years 1 week ago by Antho. Reason: More infos.
The topic has been locked.
- Ben_V
- Offline
- Platinum Member
Less
More
- Posts: 1223
- Thank you received: 351
9 years 1 week ago #118053
by Ben_V
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Replied by Ben_V on topic Cacher un groupe de questions si l'autre est validé.
Salut,
Tu trouveras ici une approche plus facile mais un peu différente car ce n'est plus un affichage d'un groupe ou de l'autre de manière aléatoire et exclusive, mais chaque groupe s'affiche en alternance en fonction de l'ID du répondant, à savoir s'il s'agit d'un nombre pair ou impair...en clair le groupe affiché change à chaque fois et à la fin de l'enquête, tu auras du 50/50 d'affichage, si tu as eu un nombre pair de réponses...
Pour tester, il faut que l'enquête soit activée ( car sinon pas de {SAVEDID} )
.
Tu trouveras ici une approche plus facile mais un peu différente car ce n'est plus un affichage d'un groupe ou de l'autre de manière aléatoire et exclusive, mais chaque groupe s'affiche en alternance en fonction de l'ID du répondant, à savoir s'il s'agit d'un nombre pair ou impair...en clair le groupe affiché change à chaque fois et à la fin de l'enquête, tu auras du 50/50 d'affichage, si tu as eu un nombre pair de réponses...
Pour tester, il faut que l'enquête soit activée ( car sinon pas de {SAVEDID} )
.
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
The topic has been locked.
- Antho
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 0
9 years 1 week ago - 9 years 1 week ago #118055
by Antho
Replied by Antho on topic Cacher un groupe de questions si l'autre est validé.
Merci beaucoup !
Donc je dois juste inscrire une équation dans le filtre d'un groupe, et l'autre équation dans celui de l'autre groupe ?
C'est parfait comme technique ça !
Après essai avec activation, mes deux groupes sont passés directement (c'est-à-dire qu'ils n'apparaissent pas dans le questionnaire), est-ce que cela a à voir avec le fait que mes réponses soient anonymisées ?
Je viens d'aller vérifier, j'ai bien un chiffre pour ID à chaque fois pourtant...
Donc je dois juste inscrire une équation dans le filtre d'un groupe, et l'autre équation dans celui de l'autre groupe ?
C'est parfait comme technique ça !
Après essai avec activation, mes deux groupes sont passés directement (c'est-à-dire qu'ils n'apparaissent pas dans le questionnaire), est-ce que cela a à voir avec le fait que mes réponses soient anonymisées ?
Je viens d'aller vérifier, j'ai bien un chiffre pour ID à chaque fois pourtant...
Last edit: 9 years 1 week ago by Antho.
The topic has been locked.
- Ben_V
- Offline
- Platinum Member
Less
More
- Posts: 1223
- Thank you received: 351
9 years 1 week ago - 9 years 1 week ago #118056
by Ben_V
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Replied by Ben_V on topic Cacher un groupe de questions si l'autre est validé.
Oups! celà me revient et je crois savoir pourquoi celà ne te fonctionne pas: il faut qu'il existe déjà un autre groupe visible (relevance=1) avant les 2 autres (sûrement car il faut poster le {SAVEDID} )...
Si celà ne correspond pas à la configuration de ton enquête on t'aidera à trouver autre chose
Si celà ne correspond pas à la configuration de ton enquête on t'aidera à trouver autre chose
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Attachments:
Last edit: 9 years 1 week ago by Ben_V.
The topic has been locked.
- Antho
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 0
9 years 1 week ago #118057
by Antho
Replied by Antho on topic Cacher un groupe de questions si l'autre est validé.
Je pouvais toujours chercher alors tiens !
Mon enquête commence bel et bien par l'un des deux groupes, c'est bien dommage, l'idée de cette fonction me plaisait bien !
Mon enquête commence bel et bien par l'un des deux groupes, c'est bien dommage, l'idée de cette fonction me plaisait bien !
The topic has been locked.
- Ben_V
- Offline
- Platinum Member
Less
More
- Posts: 1223
- Thank you received: 351
9 years 1 week ago - 9 years 1 week ago #118058
by Ben_V
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Replied by Ben_V on topic Cacher un groupe de questions si l'autre est validé.
Bon il y a tjrs la possibilité de créer un "faux-vrai" premier groupe:
1) créer un groupe
2) créer une question texte libre o autre
3) coller un auto-submit:
Reprend le test que je t'ai déjà joint et colle le dans la toute première question
1) créer un groupe
2) créer une question texte libre o autre
3) coller un auto-submit:
Code:
<script type="text/javascript"> $(document).ready(function() { $('body').hide() document.limesurvey.submit(); }); </script>
Reprend le test que je t'ai déjà joint et colle le dans la toute première question
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Last edit: 9 years 1 week ago by Ben_V.
The topic has been locked.
- Antho
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 0
9 years 1 week ago - 9 years 1 week ago #118059
by Antho
Replied by Antho on topic Cacher un groupe de questions si l'autre est validé.
Alors, après essai, ça ne fonctionne pas, et quand je retourne dans ma première question, il m'affiche ça :
$(document).ready(function() {
$('body').hide()
document.limesurvey.submit();
});
A chaque actualisation avec le reste du script que tu m'as donné, il me l'enlève à chaque fois .
Pourtant, c'est bien dans ma première question comme tu me l'as dit.
EDIT :
Finalement, ça s'affiche aha, mais ça me met un beau message d'erreur assez long :
"<script type="text/javascript">
$(document).ready(function() < / span > $ < spanstyle="font-size: 1em; font-family: inherit; color: rgb(0, 153, 0);" > ( < / span > < spanstyle="font-size: 1em; font-family: inherit; color: rgb(0, 0, 255);" > ...... et ainsi de suite.
Avec span, $ et style en rouge.
$(document).ready(function() {
$('body').hide()
document.limesurvey.submit();
});
A chaque actualisation avec le reste du script que tu m'as donné, il me l'enlève à chaque fois .
Pourtant, c'est bien dans ma première question comme tu me l'as dit.
EDIT :
Finalement, ça s'affiche aha, mais ça me met un beau message d'erreur assez long :
"<script type="text/javascript">
$(document).ready(function() < / span > $ < spanstyle="font-size: 1em; font-family: inherit; color: rgb(0, 153, 0);" > ( < / span > < spanstyle="font-size: 1em; font-family: inherit; color: rgb(0, 0, 255);" > ...... et ainsi de suite.
Avec span, $ et style en rouge.
Last edit: 9 years 1 week ago by Antho.
The topic has been locked.
- Ben_V
- Offline
- Platinum Member
Less
More
- Posts: 1223
- Thank you received: 351
9 years 1 week ago #118060
by Ben_V
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Replied by Ben_V on topic Cacher un groupe de questions si l'autre est validé.
Désactiver la protection XSS
Paramètres généraux de l'installation (barre de menu principale) > Onglet securité
Changer le curseur "Filter HTML for XSS:" pour le mettre sur non
Paramètres généraux de l'installation (barre de menu principale) > Onglet securité
Changer le curseur "Filter HTML for XSS:" pour le mettre sur non
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
The topic has been locked.
- Ben_V
- Offline
- Platinum Member
Less
More
- Posts: 1223
- Thank you received: 351
9 years 1 week ago #118061
by Ben_V
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Replied by Ben_V on topic Cacher un groupe de questions si l'autre est validé.
J'attache un exemple avec un 1er groupe auto-submit; Il y a plus qu'à activer...
Benoît
EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Attachments:
The topic has been locked.
- Antho
- Topic Author
- Offline
- New Member
Less
More
- Posts: 7
- Thank you received: 0
9 years 1 week ago #118062
by Antho
Replied by Antho on topic Cacher un groupe de questions si l'autre est validé.
Décidément,... Je crois que mon administrateur ne m'a point donné accès à ce réglage !
The topic has been locked.
Moderators: Nickko