Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Pré-sélection automatique de réponse dans question type "tableau(nombres)"

  • PaulMaguy
  • PaulMaguy's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
5 years 10 months ago #167909 by PaulMaguy
Bonjour,

Je cherche comment faire pour que, à l'ouverture de ma question, chaque élément de réponse soit présélectionné pour éviter au répondant de devoir sélectionner à la main une valeur pour chacune des cases.
Voici la structure de ma question :


C'est un questionnaire destiné aux médecins généralistes, portant sur le nombre d'exemplaires de sauvegarde informatisées de leurs données.
Je demande au répondant combien d'exemplaires de sauvegarde de ses données existent au cabinet médical et en dehors du cabinet médical.

Le répondant peut sélectionner une réponse pour chaque case entre 0 et 3.
Par défaut, la question démarre tel que affichée dans l'image, avec "..."' comme réponse par défaut, ce qui ne permet pas de passer à la question suivante en ne changeant qu'une seule valeur du tableau.
Pour permettre ça, je voudrais que "0" soit pré-sélectionné.

J'ai bien vu qu'il est possible de mettre du code javascript dans la source du texte de la question pour faire cela, mais je n'ai que très peu de connaissances en javascript et ne sais pas comment adapter un exemple de code trouvé sur la version anglaise du forum d'aide :

<script type="text/javascript" charset="utf-8">

$(document).ready(function() {

// Identify this question
var thisQuestion = $('#question{QID}');

// Default answers
$('tr.answers-list', thisQuestion).each(function(i) {
if($('input[type="radio"]:checked', this).length == 0) {
$('input[type="radio"]:last', this).trigger('click')
}
});
});

</script>


Je n'ai pas le vocabulaire javascript suffisant pour adapter ce bout de code à ma question.

Il s'agit de la question ID 505.
Voici mes paramètres de sous-question.


Merci beaucoup pour toute réponse !
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 10 months ago #167944 by DenisChenu
Salut,

Je ne sais pas pour la solution javascript, mais sinon tu peux créer une question de type équation (au début du questionnaire) et indiquer (selon le code de ta questions et sous question)

{QCODE_susb_slocal=if(is_empty(QCODE_susb_slocal.NAOK),QCODE_susb_slocal.NAOK,'0')}
etc …

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 following user(s) said Thank You: PaulMaguy
The topic has been locked.
  • PaulMaguy
  • PaulMaguy's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
5 years 10 months ago #167961 by PaulMaguy
Bonjour DenisChenu et merci pour votre réponse, la question équation est une piste que je ne connaissais pas encore.

J'ai essayé plusieurs façons de faire pour intégrer le bout de code que vous proposez.
Actuellement je suis un peu perdu dans l'affaire ! Mes connaissances en programmation sont assez limitées, je bricole le code comme je peux mais n'arrive pas à faire agir la question équation 'settings' sur les réponses de la question.

Je résume mon chemin de réflexion si vous voulez bien :

- Je veux via une question de type équation appelée 'settings' (placée au début du groupe de questions par praticité) agir sur ma question 'sauvegardesupports'.

- Le code adapté se présente donc pour moi comme ceci :

{sauvegardesupports_susb_slocal=if(is_empty(sauvegardesupports_susb_slocal.NAOK),sauvegardesupports_susb_slocal.NAOK,'0')}


- Je l'ai collé en tant que texte de la question 'settings'.

=> En l'état : la première case réponse de 'sauvegardesupports' n'est pas pré-réglée, mais choisir une réponse influe sur le texte qui ressort de l'équation : dès qu'une valeur est choisie, l'équation affiche 0.


- J'ai essayé de coller ce code dans une question située avant ou après 'sauvegardesupports', dans le texte même de la question, rien de mieux !

Etant encore débutant avec LimeSurvey, j'ai peut-être fait une erreur basique : collé le code au mauvais endroit ? En tout cas je comprends mal son fonctionnement et aurais bien besoin de vos lumières !

Merci d'avance,
Paul

(Question subsidiaire : le code SGQA rentré au format chiffré (847715X58X505_susb_slocal) ne semble pas interprété correctement et n'est pas pris en compte sans erreur, alors que le code "sauvegardesupports_susb_slocal" fonctionne. Je n'écris sans doute pas le code chiffré correctement ?)
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 10 months ago #167963 by DenisChenu
Il faut le poser dans un groupe précédant. Je créé quelquefois un premier groupe pour cela. Et n'hésite pas à la masquer aussi.

Et je me suis trompé, c'est pas quand c'est vide, c'est quand c'est pas vide.

{sauvegardesupports_susb_slocal=if(is_empty(sauvegardesupports_susb_slocal.NAOK),sauvegardesupports_susb_slocal.NAOK,'0')}

Il faudra faire la même chose pour toutes les questions. Tu as bien 0 dans la liste ? Sinon : il te faut indiquer une valeur existante.

Pour la dernière ligne :
il me semble que c'est 847715X58X505susb_slocal . Mais cette notation est dépréciée.

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.
  • PaulMaguy
  • PaulMaguy's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
5 years 10 months ago #167966 by PaulMaguy
Il me semble que le code de votre dernière réponse est identique à celui de mon précédent post.

0 est bien une valeur possible de réponse (dans le tableau sont possibles le '...', 0,1, 2 et 3.

Est-ce que :

{sauvegardesupports_susb_slocal='0'}

pourrait suffire ? Je ne sais pas si rentrer ce code règle la valeur de façon définitive s'il n'est présent que avant la question elle-même, ou bien si même après une réponse différente de 0 à chaque case la valeur ne restera pas fixée sur 0.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 10 months ago - 5 years 10 months ago #168031 by DenisChenu
Arg !!!! encore gourré …
Code:
{sauvegardesupports_susb_slocal=if(is_empty(sauvegardesupports_susb_slocal.NAOK),'0',sauvegardesupports_susb_slocal.NAOK)}
ou
Code:
{sauvegardesupports_susb_slocal=if(!is_empty(sauvegardesupports_susb_slocal.NAOK),sauvegardesupports_susb_slocal.NAOK,'0')}
Avec ton code : tu va toujours forcer sauvegardesupports_susb_slocal à 0, dès que la personne va passer par la page.

Il faut donc tester et le faire uniquement si c'est vide …

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: 5 years 10 months ago by DenisChenu.
The following user(s) said Thank You: PaulMaguy
The topic has been locked.
  • PaulMaguy
  • PaulMaguy's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
5 years 10 months ago #168035 by PaulMaguy
MERCI BEAUCOUP !!
Ça fonctionne parfaitement et j'ai pu l'adapter aux autres items du tableau !

Voir un exemple fonctionnel sur son propre questionnaire aide beaucoup à comprendre comment marche le système de conditions !

(Je peux citer votre pseudo dans les remerciements de ma thèse ? ;) )
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 10 months ago #168123 by DenisChenu

PaulMaguy wrote: (Je peux citer votre pseudo dans les remerciements de ma thèse ? ;) )

Bah, mon pseudo, c'est mon nom ;)
Oui, pas de soucis : Denis Chenu ( www.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.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose