- Posts: 8
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Verrouiller des choix pour une question type QCM
- Pruneau
- Topic Author
- Offline
- New Member
Less
More
7 years 1 month ago - 7 years 1 month ago #147499
by Pruneau
Verrouiller des choix pour une question type QCM was created by Pruneau
Bonjour à tous,
Le titre n'est pas très explicite donc je vais tâcher d'être plus clair dans la description.
Dans mon formulaire, j'ai une question de type QCM (avec 3 choix possibles). En fonction des réponses d'une précédente question, j'aimerais verrouiller certains choix possibles parmi les 3.
Exemple :
1ère question : liste (boutons radio)
Que souhaitez-vous assurer ?
- un investissement locatif
- votre résidence principale
2ème question : choix multiples
Quelles garanties souhaitez-vous ?
- garantie A
- garantie B
- garantie C
Donc je voudrais que :
- si on coche un investissement locatif, le choix garantie A soit verrouillé automatiquement (ie coché par défaut sans possibilité de le décocher), ce qui laisse la possibilité de cocher ou non garantie B et/ou garantie C ;
- si on coche votre résidence principale , les choix garantie A et garantie B soient verrouillés automatiquement (ie cochés par défaut sans possibilité de les décocher), ce qui laisse la possibilité de cocher ou non garantie C.
Une âme charitable pour me venir en aide ?
Le titre n'est pas très explicite donc je vais tâcher d'être plus clair dans la description.
Dans mon formulaire, j'ai une question de type QCM (avec 3 choix possibles). En fonction des réponses d'une précédente question, j'aimerais verrouiller certains choix possibles parmi les 3.
Exemple :
1ère question : liste (boutons radio)
Que souhaitez-vous assurer ?
- un investissement locatif
- votre résidence principale
2ème question : choix multiples
Quelles garanties souhaitez-vous ?
- garantie A
- garantie B
- garantie C
Donc je voudrais que :
- si on coche un investissement locatif, le choix garantie A soit verrouillé automatiquement (ie coché par défaut sans possibilité de le décocher), ce qui laisse la possibilité de cocher ou non garantie B et/ou garantie C ;
- si on coche votre résidence principale , les choix garantie A et garantie B soient verrouillés automatiquement (ie cochés par défaut sans possibilité de les décocher), ce qui laisse la possibilité de cocher ou non garantie C.
Une âme charitable pour me venir en aide ?
Last edit: 7 years 1 month ago by Pruneau.
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13912
- Thank you received: 2549
7 years 1 month ago #147525
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Verrouiller des choix pour une question type QCM
Il faut jouer du javascript,
Selon tes code de question
Maintenant, cela me semble plus facile de masquer les sous question avec le gestionnaire d'expression : manual.limesurvey.org/Adding_answers_or_subquestions
Selon tes code de question
Code:
$(document).on('click',"#answer{SGQ}A1",function(){ $("#answer{Q2.sgq}A1").prop("checked",true).prop("readonly",true); $("#answer{Q2.sgq}A2").prop("checked",false).prop("readonly",false); $("#answer{Q2.sgq}A3").prop("checked",false).prop("readonly",false); }); $(document).on('click',"#answer{SGQ}A1",function(){ $("#answer{Q2.sgq}A1").prop("checked",false).prop("readonly",false); $("#answer{Q2.sgq}A2").prop("checked",true).prop("readonly",true); $("#answer{Q2.sgq}A3").prop("checked",true).prop("readonly",true); });
Maintenant, cela me semble plus facile de masquer les sous question avec le gestionnaire d'expression : manual.limesurvey.org/Adding_answers_or_subquestions
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- Pruneau
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
7 years 1 month ago #147557
by Pruneau
Replied by Pruneau on topic Verrouiller des choix pour une question type QCM
Waouh, merci beaucoup pour cette réponse !
Je me doutais bien qu'il fallait recourir au JS... Mais je n'y connais vraiment rien alors j'ai préféré demander pour être sûr.
Je comprends parfaitement le code, mais je ne sais pas où l'implanter dans LimeSurvey : dans l'éditeur de question (de la 2ème question, ie celle à choix multiples), dans l'éditeur de sous-questions (de la 2ème question), dans les filtres conditionnels, dans l'éditeur HTML en cliquant sur Source ? Voilà je suis un peu perdu à ce niveau-là donc je suis preneur de quelques indications.
Encore merci.
Je me doutais bien qu'il fallait recourir au JS... Mais je n'y connais vraiment rien alors j'ai préféré demander pour être sûr.
Je comprends parfaitement le code, mais je ne sais pas où l'implanter dans LimeSurvey : dans l'éditeur de question (de la 2ème question, ie celle à choix multiples), dans l'éditeur de sous-questions (de la 2ème question), dans les filtres conditionnels, dans l'éditeur HTML en cliquant sur Source ? Voilà je suis un peu perdu à ce niveau-là donc je suis preneur de quelques indications.
Encore merci.
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13912
- Thank you received: 2549
7 years 1 month ago #147559
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Verrouiller des choix pour une question type QCM
Avec
www.limesurvey.org/index.php?option=com_...oquestion&Itemid=729
par example
Sinon : manual.limesurvey.org/Workarounds:_Manip...tc..29_in_LimeSurvey
Denis
Sinon : manual.limesurvey.org/Workarounds:_Manip...tc..29_in_LimeSurvey
Denis
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- Pruneau
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
7 years 1 month ago #147562
by Pruneau
Replied by Pruneau on topic Verrouiller des choix pour une question type QCM
Parfait ! Merci beaucoup, du coup je suis passé par l'éditeur HTML de la question.
Par contre j'ai l'impression que la propriété "read only" ne fonctionne pas puisque les choix pré-cochés automatiquement (de la question 2) peuvent être décochés en cliquant dessus. Comment cela se fait-il ?
Par contre j'ai l'impression que la propriété "read only" ne fonctionne pas puisque les choix pré-cochés automatiquement (de la question 2) peuvent être décochés en cliquant dessus. Comment cela se fait-il ?
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13912
- Thank you received: 2549
7 years 1 month ago - 7 years 1 month ago #147581
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Verrouiller des choix pour une question type QCM
Ah zut, l'événement est en plus controlé par le gestionnaire d'expression.
Essaye cela:
Essaye cela:
Code:
$(document).on('click',"#answer{SGQ}A1",function(){ $("#answer{Q2.sgq}A1").prop("checked",true).prop("readonly",true); $("#answer{Q2.sgq}A2").prop("checked",false).prop("readonly",false); $("#answer{Q2.sgq}A3").prop("checked",false).prop("readonly",false); }); $(document).on('click',"#answer{SGQ}A1",function(){ $("#answer{Q2.sgq}A1").prop("checked",false).prop("readonly",false); $("#answer{Q2.sgq}A2").prop("checked",true).prop("readonly",true); $("#answer{Q2.sgq}A3").prop("checked",true).prop("readonly",true); }); $(document).on('click',"[readonly]",function(){ return false; });
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Last edit: 7 years 1 month ago by DenisChenu. Reason: clode code
The topic has been locked.
- Pruneau
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
7 years 1 month ago - 7 years 1 month ago #147592
by Pruneau
Replied by Pruneau on topic Verrouiller des choix pour une question type QCM
Encore merci pour votre réponse !
Par contre ça n'a pas l'air de fonctionner, on a toujours la possibilité de décocher.
Par ailleurs, je viens de déceler un autre problème. En effet, pour cette question à choix multiples, j'exige dans les paramètres une réponse minimum donc j'ai un petit texte en rouge qui s'affiche au-dessus : "Veuillez sélectionner au moins une réponse". Jusqu'ici tout va bien, mais je me suis rendu compte que lorsque les choix étaient pré-cochés automatiquement (grâce au script JS), ce texte en rouge ne s'enlève (alors que ça devrait) et il m'est impossible de poursuivre le questionnaire. J'ai donc l'impression qu'il faut absolument une action de l'utilisateur (c'est-à-dire un clic sur un des choix) pour "prendre en compte la réponse".
Par contre ça n'a pas l'air de fonctionner, on a toujours la possibilité de décocher.
Par ailleurs, je viens de déceler un autre problème. En effet, pour cette question à choix multiples, j'exige dans les paramètres une réponse minimum donc j'ai un petit texte en rouge qui s'affiche au-dessus : "Veuillez sélectionner au moins une réponse". Jusqu'ici tout va bien, mais je me suis rendu compte que lorsque les choix étaient pré-cochés automatiquement (grâce au script JS), ce texte en rouge ne s'enlève (alors que ça devrait) et il m'est impossible de poursuivre le questionnaire. J'ai donc l'impression qu'il faut absolument une action de l'utilisateur (c'est-à-dire un clic sur un des choix) pour "prendre en compte la réponse".
Last edit: 7 years 1 month ago by Pruneau.
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13912
- Thank you received: 2549
7 years 1 month ago - 7 years 1 month ago #147593
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Verrouiller des choix pour une question type QCM
Pour le readonly, pourtant cela aurait du fonctionner. Pour l'alerte en rouge , à tenter:
Mais bon, selon le besoin : utiliser les conditions sur les sous questions peut aussi être à envisager.
Denis
PS : idée pour le return false : le javascript inline est activé après le return false : pitete avec ready ....
Code:
$(document).on('click',"#answer{SGQ}A1",function(){ $("#answer{Q2.sgq}A1").prop("checked",true).trigger('change').prop("readonly",true); $("#answer{Q2.sgq}A2").prop("checked",false).trigger('change').prop("readonly",false); $("#answer{Q2.sgq}A3").prop("checked",false).trigger('change').prop("readonly",false); }); $(document).on('click',"#answer{SGQ}A1",function(){ $("#answer{Q2.sgq}A1").prop("checked",false).trigger('change').prop("readonly",false); $("#answer{Q2.sgq}A2").prop("checked",true).trigger('change').prop("readonly",true); $("#answer{Q2.sgq}A3").prop("checked",true).trigger('change').prop("readonly",true); }); $(function() { $(document).off('click',"#question{QID} [type='checkbox']"); $(document).on('change',"#question{QID} [type='checkbox']",function(){ checkconditions($(this).val(), $(this).attr("name'), 'checkbox') });
Mais bon, selon le besoin : utiliser les conditions sur les sous questions peut aussi être à envisager.
Denis
PS : idée pour le return false : le javascript inline est activé après le return false : pitete avec ready ....
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Last edit: 7 years 1 month ago by DenisChenu.
The topic has been locked.
- Pruneau
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
7 years 1 month ago #147596
by Pruneau
Replied by Pruneau on topic Verrouiller des choix pour une question type QCM
Bon finalement, je vais laisser tomber pour le readonly, le verrouillage n'est pas forcément nécessaire.
Et pour le texte en rouge, ça n'a pas fonctionné mais ce n'est pas non plus très important. De toute façon, il y aura toujours au moins un choix pré-coché donc je peux désactiver cette option d'au moins une réponse exigée.
Par contre, j'ai effectué un changement dans l'ordre des questions. Initialement, les 2 questions (celle liste à boutons + celle QCM) étaient l'une après l'autre et dans le même groupe de question. Mais j'ai voulu déplacer la question liste à boutons dans un autre groupe de questions placé au tout début du questionnaire. Et là, le script ne fonctionne plus : les choix ne sont plus pré-cochés automatiquement. Comme si ma réponse à la question liste à boutons n'était pas sauvegardée...
Une idée ?
Et pour le texte en rouge, ça n'a pas fonctionné mais ce n'est pas non plus très important. De toute façon, il y aura toujours au moins un choix pré-coché donc je peux désactiver cette option d'au moins une réponse exigée.
Par contre, j'ai effectué un changement dans l'ordre des questions. Initialement, les 2 questions (celle liste à boutons + celle QCM) étaient l'une après l'autre et dans le même groupe de question. Mais j'ai voulu déplacer la question liste à boutons dans un autre groupe de questions placé au tout début du questionnaire. Et là, le script ne fonctionne plus : les choix ne sont plus pré-cochés automatiquement. Comme si ma réponse à la question liste à boutons n'était pas sauvegardée...
Une idée ?
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13912
- Thank you received: 2549
7 years 1 month ago #147598
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Verrouiller des choix pour une question type QCM
Parceque : manipuler sur la même page et sur une page différente : cela n'a rien à voir ....
Dans ce cas : manual.limesurvey.org/Expression_Manager..._Assignment_Operator
Au besoin : support.sondages.pro/
Dans ce cas : manual.limesurvey.org/Expression_Manager..._Assignment_Operator
Au besoin : support.sondages.pro/
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
- Pruneau
- Topic Author
- Offline
- New Member
Less
More
- Posts: 8
- Thank you received: 0
7 years 1 month ago #147604
by Pruneau
Replied by Pruneau on topic Verrouiller des choix pour une question type QCM
Avec le gestionnaire d'expression, j'ai fait ceci pour la 1ère sous question :
En appelant QCODE1 le code de la question de type liste boutons radio et QCODE2 le code de la question de type QCM.
Cependant, cela me permet juste d'afficher ou non la sous-question, alors que moi je voudrais l'afficher et la cocher.
Code:
{QCODE2_SQ001=if(QCODE1.NAOK=="A1","Garantie A","")}
En appelant QCODE1 le code de la question de type liste boutons radio et QCODE2 le code de la question de type QCM.
Cependant, cela me permet juste d'afficher ou non la sous-question, alors que moi je voudrais l'afficher et la cocher.
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13912
- Thank you received: 2549
7 years 1 month ago #147616
by DenisChenu
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Replied by DenisChenu on topic Verrouiller des choix pour une question type QCM
"Garantie A" => "Y"
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
Moderators: Nickko