Questions modifiables et non modifiable dans un questionnaire

More
1 year 9 months ago #178303 by jeremt
Bonjour,

Je souhaiterai savoir si il est possible de créer des groupes de questions ou la réponse serait non modifiable une fois validée et d'autres ou la question serait modifiable peut être avec la fonction index par exemple.
Je n'ai pas trouvé de sujets concernant ce point mais peut être que je n'utilise les bons mots clefs.

Existe-t-il une manière plus ou moins simple de le réaliser ?

En effet, pour des raisons méthodologiques au milieu de mon questionnaire j'ai des questions qui ne doivent pas être modifié alors que d'autre pourrait l'être, avant et après.



Merci de vos éventuels conseils.
The topic has been locked.
LimeSurvey Partners
More
1 year 9 months ago #178314 by DenisChenu
A par via un plugin et du javascript / css : je ne vois pas …

gitlab.com/SondagesPro/QuestionSettingsType/answersAsReadonly

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.
More
1 year 9 months ago #178353 by jeremt
Bonjour et merci d'avoir pris le temps de me répondr,

J'ai suivi le lien que vous proposiez ci-desssus. J'ai copié le fichier js et css dans mon template js et css et ajouté la classe answersasreadonly-attribute aux questions "non modifiables".

En parrallèle les questions non modifiables sont insprées de ce forum :
www.limesurvey.org/forum/can-i-do-this-w...hoice-models?start=0

Je me demande si il ne serait pas plus simple de cacher lesradio button une fois la question validée ?
En ajoutant un code du type (attention le code ne fonctionne pas):
$('#movenextbtn, #movesubmitbtn').click(function(){
			if($('.question-text table:eq(0) tr:last td:eq(0)', thisQuestion)=='A1') [
			$('.question-text table:eq(0) tr:last td:eq(1)', thisQuestion).hide();
			$('.question-text table:eq(0) tr:last td:eq(2)', thisQuestion).hide();
			});
 
			if($('.question-text table:eq(0) tr:last td:eq(1)', thisQuestion)=='A2') [
			$('.question-text table:eq(0) tr:last td:eq(0)', thisQuestion).hide();
			$('.question-text table:eq(0) tr:last td:eq(2)', thisQuestion).hide();
			});		
 
			if($('.question-text table:eq(0) tr:last td:eq(1)', thisQuestion)=='A3') [
			$('.question-text table:eq(0) tr:last td:eq(0)', thisQuestion).hide();
			$('.question-text table:eq(0) tr:last td:eq(2)', thisQuestion).hide();
			});		
		}
Certe ce n'est pas une fonction très élégante. Je vais travailler sur cette partie du code pour désactiver la possibilité de modifier la réponse. En effet, je suis débutant et le code proposé doit paraitre grossier.
Attachments:
The topic has been locked.
More
1 year 9 months ago #178354 by DenisChenu
En css :
.answersasreadonly-attribute .answer-item input:radio{display:none}

Mais ici : je me demande si il ne serait pas possible d'ajouter une condition pour l‘attribut readonly:
gitlab.com/SondagesPro/QuestionSettingsT...rsAsReadonly.php#L42

Ajout d'un champ texte qui poserait le readonly en fonction du résultat d'une équation.

Pour toi, cela pourrait être {TOKEN:SUBMITDATE} par exemple qui est null tant que le questionnaire n'est pas soumis.

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 following user(s) said Thank You: jeremt
The topic has been locked.
More
1 year 8 months ago #178761 by jeremt
Bonjour,

Merci pour ton aide. Toutefois, après plusieurs après midi de travail. je n'ai pas vraiment réussi à mettre ta solution en place (manque de compétences de ma part). Mais j'ai toutefois trouvé une solution certe beaucoup moins élégante et sans doute plus lourde pour l'utilisateur mais qui fonctionne.

A toutes fins utiles voir le fichier joint.

File Attachment:

File Name: test_28.lss
File Size:22 KB
Attachments:
The topic has been locked.
Moderators: Nickko

Start now!

Just create your account and start using Limesurvey today.

Register now