Welcome to the LimeSurvey Community Forum

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

Limiter les valeurs dans un tableau de nombres

  • fab974
  • fab974's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 7 months ago #119287 by fab974
Bonjour,

Après avoir évalué plusieurs outils de création de questionnaires, je me suis lancé il y a quelques jours avec LimeSurvey que apprend à découvrir et qui m'étonne chaque jour d'avantage.

Je bloque aujourd'hui sur un point:

Je demande au répondant sa taille, j'ai donc pour cela créé un tableau de nombres avec une ligne et deux colonnes, une pour les mètres, l'autre pour les centimètres.

Je souhaite limiter la première case aux nombres 0, 1, 2 ou une non réponse et la seconde de 0 à 99.

Pourriez-vous m'indiquer comment faire ?

Merci
Fab
The topic has been locked.
  • Nickko
  • Nickko's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 7 months ago #119290 by Nickko
Pour les tableaux, je ne sais pas, mais lorsqu'on utilise les entrées numériques, je sais qu'on a ce genre de réglages dans les options avancées de la question.

Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
  • fab974
  • fab974's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 7 months ago #119291 by fab974
Dans les options avancées, il y a bien la possibilité de mettre un min et un max mais le problème c'est que dans mon cas, ces valeurs sont différentes pour chaque champs: [0,1,2] pour les mètres et [0-99] pour les centimètres.
The topic has been locked.
  • Nickko
  • Nickko's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 7 months ago #119294 by Nickko
Je ne comprends pas bien, on parle de la taille du répondant, mais alors pourquoi un tableau si tu n'as qu'une seule entrée ?

Dans ton cas, je pense qu'un champ unique avec la taille en metre ou en centimetre (à toi de le préciser) et si tu choisis centimetre, interdit les chiffres à virgule. Tu peux même valider que le premier chiffre est 1, 2 ou 3 avec une regex.

Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
  • fab974
  • fab974's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 7 months ago #119296 by fab974
Je fais un tableau pour avoir les mètres et les centimètres sur la même ligne.
Il me faut vraiment les 2 champs: mètre et centimètre. Il y aurait un moyen de les avoirs sur la même ligne si je n'utilise pas un tableau ?
The topic has been locked.
  • Nickko
  • Nickko's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 7 months ago #119299 by Nickko
Les tableaux c'est pour les réponses multiples, si tu as un problème de mise en forme, ce n'est sans doute pas une bonne raison.

Sinon, comme je te l'ai dit, oui c'est possible si tu maitrises CSS et Javascript.

Sinon, expliquer moi ton besoin de départ et pas la solution que tu veux mettre en place.
Peut-être que je pourrais te proposer une solution adéquate qui n'est pas celle que tu as envisagée.

Nickko
Head of ergonomics, UX & UI.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
9 years 7 months ago #119302 by DenisChenu
Replied by DenisChenu on topic Limiter les valeurs dans un tableau de nombres
Salut,

www.limesurvey.org/manual/Question_type_...8em_validation_sq.29

Donc avec
- code de la question : TAILLE
- la ligne : TAILLE
- les colonnes : METRES et CENTI
et paramètres avancés : input_boxes à oui (affiache de texte)
Code:
is_empty(TAILLE_TAILLE_METRES) or (is_int(TAILLE_TAILLE_METRES) and TAILLE_TAILLE_METRES >=0 and TAILLE_TAILLE_METRES <= 3)
and
is_empty(TAILLE_TAILLE_CENTI) or (is_int(TAILLE_TAILLE_CENTI) and TAILLE_TAILLE_CENTI >=0 and TAILLE_TAILLE_CENTI <= 99)

Sinon : tu peux utiliser : tableaux à double entrée avec "dropdown" www.limesurvey.org/manual/Question_type_...s_.28use_dropdown.29

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
  • fab974
  • fab974's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 7 months ago #119338 by fab974
Denis,

Encore mille mercis.
C'est exactement ça :cheer: .

Fab
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
9 years 7 months ago #119364 by DenisChenu
Replied by DenisChenu on topic Limiter les valeurs dans un tableau de nombres
Salut,

Sinon : le tableau en double entrée me semble plus sympa ici, non ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
  • fab974
  • fab974's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 7 months ago - 9 years 7 months ago #119379 by fab974
Je préfère que le répondant tape ses réponses, c'est pour ça que je part sur un tableau de nombres.
Tout marche nickel pour cette question.

Par contre sur une autre question du même style mais dont les lignes sont filtrées sur une autre question, ça ne fonctionne pas, je suis bloqué quoique je tape.

Voici mon code de validation, que je répète 24 fois, car j'ai au total 24 lignes:

(is_empty(tempsactivite_1_1) or (is_int(tempsactivite_1_1) and tempsactivite_1_1>=0 and tempsactivite_1_1<=50))
and
(is_empty(tempsactivite_1_2) or (is_int(tempsactivite_1_2) and tempsactivite_1_2>=0 and tempsactivite_1_2<=59))

As-tu une idée d'où vient le problème ?

Merci
Fab
Last edit: 9 years 7 months ago by fab974.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
9 years 7 months ago #119390 by DenisChenu
Replied by DenisChenu on topic Limiter les valeurs dans un tableau de nombres
Je pense que le _1_2 peut poser problème, essaye en ajoutant X et Y devant (tempsactivite_X1_Y1)

Sinon : ajoute aussi un texte dans le tip.

Et puis regarde le "fichier de logique" pour cette question.

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
  • fab974
  • fab974's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 7 months ago - 9 years 7 months ago #119393 by fab974
Je vais essayer mais ce n'est pas tempsactivite_Y1_X1 plutôt que tempsactivite_X1_Y1 ?

J'ai essayé mais j'ai toujours le même problème: quelque soit ma réponse, je reste bloqué sur la page lorsque tous les items ne sont pas affichés.

Quand je fais en sorte de sélectionner tous les items à la question filtres, là ça marche.
Donc je pense qu'il faudrait conditionner le code à l'existence de la sous question.

Tu sais comment je pourrais faire ?

Voici mon code:

(is_empty(tempsactivite_Y1_X1) or (is_int(tempsactivite_Y1_X1) and tempsactivite_Y1_X1>=0 and tempsactivite_Y1_X1<=50))
and
(is_empty(tempsactivite_Y1_X2) or (is_int(tempsactivite_Y1_X2) and tempsactivite_Y1_X2>=0 and tempsactivite_Y1_X2<=59))
and
(is_empty(tempsactivite_Y2_X1) or (is_int(tempsactivite_Y2_X1) and tempsactivite_Y2_X1>=0 and tempsactivite_Y2_X1<=50))
and
(is_empty(tempsactivite_Y2_X2) or (is_int(tempsactivite_Y2_X2) and tempsactivite_Y2_X2>=0 and tempsactivite_Y2_X2<=59))
and
(is_empty(tempsactivite_Y3_X1) or (is_int(tempsactivite_Y3_X1) and tempsactivite_Y3_X1>=0 and tempsactivite_Y3_X1<=50))
and
(is_empty(tempsactivite_Y3_X2) or (is_int(tempsactivite_Y3_X2) and tempsactivite_Y3_X2>=0 and tempsactivite_Y3_X2<=59))
and
(is_empty(tempsactivite_Y4_X1) or (is_int(tempsactivite_Y4_X1) and tempsactivite_Y4_X1>=0 and tempsactivite_Y4_X1<=50))
and
(is_empty(tempsactivite_Y4_X2) or (is_int(tempsactivite_Y4_X2) and tempsactivite_Y4_X2>=0 and tempsactivite_Y4_X2<=59))
and
(is_empty(tempsactivite_Y5_X1) or (is_int(tempsactivite_Y5_X1) and tempsactivite_Y5_X1>=0 and tempsactivite_Y5_X1<=50))
and
(is_empty(tempsactivite_Y5_X2) or (is_int(tempsactivite_Y5_X2) and tempsactivite_Y5_X2>=0 and tempsactivite_Y5_X2<=59))
and
(is_empty(tempsactivite_Y6_X1) or (is_int(tempsactivite_Y6_X1) and tempsactivite_Y6_X1>=0 and tempsactivite_Y6_X1<=50))
and
(is_empty(tempsactivite_Y6_X2) or (is_int(tempsactivite_Y6_X2) and tempsactivite_Y6_X2>=0 and tempsactivite_Y6_X2<=59))
and
(is_empty(tempsactivite_Y7_X1) or (is_int(tempsactivite_Y7_X1) and tempsactivite_Y7_X1>=0 and tempsactivite_Y7_X1<=50))
and
(is_empty(tempsactivite_Y7_X2) or (is_int(tempsactivite_Y7_X2) and tempsactivite_Y7_X2>=0 and tempsactivite_Y7_X2<=59))
and
(is_empty(tempsactivite_Y8_X1) or (is_int(tempsactivite_Y8_X1) and tempsactivite_Y8_X1>=0 and tempsactivite_Y8_X1<=50))
and
(is_empty(tempsactivite_Y8_X2) or (is_int(tempsactivite_Y8_X2) and tempsactivite_Y8_X2>=0 and tempsactivite_Y8_X2<=59))
and
(is_empty(tempsactivite_Y9_X1) or (is_int(tempsactivite_Y9_X1) and tempsactivite_Y9_X1>=0 and tempsactivite_Y9_X1<=50))
and
(is_empty(tempsactivite_Y9_X2) or (is_int(tempsactivite_Y9_X2) and tempsactivite_Y9_X2>=0 and tempsactivite_Y9_X2<=59))
and
(is_empty(tempsactivite_Y10_X1) or (is_int(tempsactivite_Y10_X1) and tempsactivite_Y10_X1>=0 and tempsactivite_Y10_X1<=50))
and
(is_empty(tempsactivite_Y10_X2) or (is_int(tempsactivite_Y10_X2) and tempsactivite_Y10_X2>=0 and tempsactivite_Y10_X2<=59))
and
(is_empty(tempsactivite_Y11_X1) or (is_int(tempsactivite_Y11_X1) and tempsactivite_Y11_X1>=0 and tempsactivite_Y11_X1<=50))
and
(is_empty(tempsactivite_Y11_X2) or (is_int(tempsactivite_Y11_X2) and tempsactivite_Y11_X2>=0 and tempsactivite_Y11_X2<=59))
and
(is_empty(tempsactivite_Y12_X1) or (is_int(tempsactivite_Y12_X1) and tempsactivite_Y12_X1>=0 and tempsactivite_Y12_X1<=50))
and
(is_empty(tempsactivite_Y12_X2) or (is_int(tempsactivite_Y12_X2) and tempsactivite_Y12_X2>=0 and tempsactivite_Y12_X2<=59))
and
(is_empty(tempsactivite_Y13_X1) or (is_int(tempsactivite_Y13_X1) and tempsactivite_Y13_X1>=0 and tempsactivite_Y13_X1<=50))
and
(is_empty(tempsactivite_Y13_X2) or (is_int(tempsactivite_Y13_X2) and tempsactivite_Y13_X2>=0 and tempsactivite_Y13_X2<=59))
and
(is_empty(tempsactivite_Y14_X1) or (is_int(tempsactivite_Y14_X1) and tempsactivite_Y14_X1>=0 and tempsactivite_Y14_X1<=50))
and
(is_empty(tempsactivite_Y14_X2) or (is_int(tempsactivite_Y14_X2) and tempsactivite_Y14_X2>=0 and tempsactivite_Y14_X2<=59))
and
(is_empty(tempsactivite_Y15_X1) or (is_int(tempsactivite_Y15_X1) and tempsactivite_Y15_X1>=0 and tempsactivite_Y15_X1<=50))
and
(is_empty(tempsactivite_Y15_X2) or (is_int(tempsactivite_Y15_X2) and tempsactivite_Y15_X2>=0 and tempsactivite_Y15_X2<=59))
and
(is_empty(tempsactivite_Y16_X1) or (is_int(tempsactivite_Y16_X1) and tempsactivite_Y16_X1>=0 and tempsactivite_Y16_X1<=50))
and
(is_empty(tempsactivite_Y16_X2) or (is_int(tempsactivite_Y16_X2) and tempsactivite_Y16_X2>=0 and tempsactivite_Y16_X2<=59))
and
(is_empty(tempsactivite_Y17_X1) or (is_int(tempsactivite_Y17_X1) and tempsactivite_Y17_X1>=0 and tempsactivite_Y17_X1<=50))
and
(is_empty(tempsactivite_Y17_X2) or (is_int(tempsactivite_Y17_X2) and tempsactivite_Y17_X2>=0 and tempsactivite_Y17_X2<=59))
and
(is_empty(tempsactivite_Y18_X1) or (is_int(tempsactivite_Y18_X1) and tempsactivite_Y18_X1>=0 and tempsactivite_Y18_X1<=50))
and
(is_empty(tempsactivite_Y18_X2) or (is_int(tempsactivite_Y18_X2) and tempsactivite_Y18_X2>=0 and tempsactivite_Y18_X2<=59))
and
(is_empty(tempsactivite_Y19_X1) or (is_int(tempsactivite_Y19_X1) and tempsactivite_Y19_X1>=0 and tempsactivite_Y19_X1<=50))
and
(is_empty(tempsactivite_Y19_X2) or (is_int(tempsactivite_Y19_X2) and tempsactivite_Y19_X2>=0 and tempsactivite_Y19_X2<=59))
and
(is_empty(tempsactivite_Y20_X1) or (is_int(tempsactivite_Y20_X1) and tempsactivite_Y20_X1>=0 and tempsactivite_Y20_X1<=50))
and
(is_empty(tempsactivite_Y20_X2) or (is_int(tempsactivite_Y20_X2) and tempsactivite_Y20_X2>=0 and tempsactivite_Y20_X2<=59))
and
(is_empty(tempsactivite_Y21_X1) or (is_int(tempsactivite_Y21_X1) and tempsactivite_Y21_X1>=0 and tempsactivite_Y21_X1<=50))
and
(is_empty(tempsactivite_Y21_X2) or (is_int(tempsactivite_Y21_X2) and tempsactivite_Y21_X2>=0 and tempsactivite_Y21_X2<=59))
and
(is_empty(tempsactivite_Y22_X1) or (is_int(tempsactivite_Y22_X1) and tempsactivite_Y22_X1>=0 and tempsactivite_Y22_X1<=50))
and
(is_empty(tempsactivite_Y22_X2) or (is_int(tempsactivite_Y22_X2) and tempsactivite_Y22_X2>=0 and tempsactivite_Y22_X2<=59))
and
(is_empty(tempsactivite_Y23_X1) or (is_int(tempsactivite_Y23_X1) and tempsactivite_Y23_X1>=0 and tempsactivite_Y23_X1<=50))
and
(is_empty(tempsactivite_Y23_X2) or (is_int(tempsactivite_Y23_X2) and tempsactivite_Y23_X2>=0 and tempsactivite_Y23_X2<=59))
and
(is_empty(tempsactivite_Y24_X1) or (is_int(tempsactivite_Y24_X1) and tempsactivite_Y24_X1>=0 and tempsactivite_Y24_X1<=50))
and
(is_empty(tempsactivite_Y24_X2) or (is_int(tempsactivite_Y24_X2) and tempsactivite_Y24_X2>=0 and tempsactivite_Y24_X2<=59))


Encore mille fois merci pour ton aide.

Fab
Last edit: 9 years 7 months ago by fab974.
The topic has been locked.
Moderators: Nickkoholchtpartner

Lime-years ahead

Online-surveys for every purse and purpose