Check out the LimeSurvey source code on GitHub!

Question à choix multiples critères d'exclusion

More
6 years 4 months ago #50717 by Chafish
Bonjour,

J'ai encore une question bête.

J'ai une question Multiples cases à cocher, j'aimerais éjecter la personne si elle ne cocher pas 6 réponses parmi les 25 possibles.
Lorsque que l'on met 6 en réponse minimum, un fenêtre nous informe qu'il faut cocher six items. mais moi je veux les redirigez vers la sortie quand c'est le cas.


Je sens que c'est un truc tout con, mais je vois pas. je suis dans le brouillard.

Please Log in to join the conversation.

More
6 years 4 months ago #50719 by DenisChenu
Ah non, c'est pas tous con, parceque ce n'est pas prévu par défaut.

Ce qu'il serait possible de faire :
1ere solution: ajouter un listener sur les cases à cocher de la question.
Avec ce listener : additionner ou soustraire un compteur sur une question caché, et créer un filtre sur cette question cachée pour ne pas afficher les questions suivantes.
2eme solution : ajouter un listener sur le bouton suivant, faire le décompte des questions cochée : cocher une case d'une question cachée si le décompte est inférieur à 6, affecter un quota de 0 à cette case de la question cachée. Puis effectuer le code next par défaut.

La solution 2 est sans doute la meilleure

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

More
6 years 4 months ago - 6 years 4 months ago #50721 by Chafish
Ah ben voilà !
Quand tu parle de listener? c'est quoi exactement? Du javascript? à mettre où?
J'ai des bonnes base pour comprendre la programmation. mais là je ne sais pas trop par ou commencer si je dois faire un script pour ça.

<script>
  jQuery(document).ready(
    function(){
$('#answer27154X16X206').change(function() {
	if ( $('#answer27154X16X206').val() < 6 ) {
		« truc pour quitter le questionnaire »;
	}
});
</script>

:S Heu... je tente de comprendre le jQuery.
Bon j'essaye de démarrer par quelque chose au moins.
Last Edit: 6 years 4 months ago by Chafish.

Please Log in to join the conversation.

More
6 years 4 months ago #50727 by Chafish
Bon j'ai mis une question supplémentaire, numérique.

On peux cacher des questions.
Je peux peux être récupérer le nombre de case coché de la précédente question? via un script?

Please Log in to join the conversation.

More
6 years 4 months ago - 6 years 4 months ago #50728 by Chafish
J'ai vu ça sur le forum :
<script type="text/javascript" charset="utf-8">
 
    $(document).ready(function(){
 
        var qID = QQ;
 
        $('#question'+qID+'').hide();
 
        $('form#limesurvey').submit(function(){
 
            var checkedCount = $('input[type=checkbox]:checked').length;
            $('#question'+qID+' input.text').val(checkedCount);
            return true;
 
          });
 
    });
 
</script>

c'est pas loin de ce que je cherche à faire je pense.
Last Edit: 6 years 4 months ago by Chafish.

Please Log in to join the conversation.

More
6 years 4 months ago #50738 by DenisChenu
Chafish wrote:

c'est pas loin de ce que je cherche à faire je pense.

Exactement,

en fait je pense qu'il faut utiliser
$('#question'+qID+' checkbox').attr('checked', true);
et mettre un quota sur cette case.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

More
6 years 4 months ago #50897 by Chafish
J'ai pensé à faire un compteur, qui alimenterais une question numérique, qui serait une question cachée.
Mais je ne sait pas commment faire le script pour mettre un compteur de checkbox sur ma question.
Et remplir ma question caché avec le chiffre du compteur.

Si quelqu'un peut m'aider !

Please Log in to join the conversation.

More
6 years 4 months ago #50898 by DenisChenu
Si la question 212 doit être répondue 6 fois
Ajoute la question 213 avec une seule checkbox. Toutes les questions suivantes auront comme condition Y dans cet checkbox.
<script type="text/javascript" charset="utf-8">
 
    $(document).ready(function(){
 
        var qID = 212;
        var qCB = 213;
        var minNombres = 6;
$('#question'+qID).hide();
        $('#question'+qID+'').hide();
 
        $('form#limesurvey').submit(function(){
 
            var checkedCount =$('#question'+qID+'input[type=checkbox]:checked').length;
            if(checkedCount > minNombres){
              $('#question'+qCB+' checkbox').attr('checked', true);
            } 
return true;
 
          });
 
    });
 
</script>

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

More
6 years 4 months ago #50908 by Chafish
Merci infiniment ça fonctionne nickel avec ça !

Please Log in to join the conversation.

More
6 years 4 months ago - 6 years 4 months ago #50910 by Chafish
J'ai parlé trop vite j'ai cru que ça marchait.

qID = c'est ID de la question ou questionXpartieXquestion ?

J'ai mis le script dans la question qCB, j'ai bon?
Last Edit: 6 years 4 months ago by Chafish.

Please Log in to join the conversation.

More
6 years 4 months ago #50976 by DenisChenu
qID et qCB : ce sont les numéros de question.

L'identifiant de la 'boite' question est #questionXXX ou XXX est le numéro de la question, sur les nouveaux template.

Au cas ou, pour tester : essaye dans un premier temps :
$('#question'+qID+'').css('background','red');
$('#question'+qCB+'').css('background','green');

Sinon, tant que la question est dans le contenu de la page, RAS (en fait il ne faut pas de display:none : sinon, jquery ne peut pas manipuler le contenu)

Je me suis gourré:
<script type="text/javascript" charset="utf-8">
 
    $(document).ready(function(){
 
        var qID = 212;
        var qCB = 213;
        var minNombres = 6;
        $('#question'+qCB+'').hide();
 
        $('form#limesurvey').submit(function(){
 
            var checkedCount =$('#question'+qID+'input[type=checkbox]:checked').length;
            if(checkedCount > minNombres){
              $('#question'+qCB+' checkbox').attr('checked', true);
            } 
return true;
 
          });
 
    });
 
</script>

Mais dans un premier temps test sans $('#question'+qCB+'').hide();

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

More
6 years 4 months ago #51065 by Chafish
Bon j'ai fait le test avec les couleurs ça fonctionne. par contre ma case de la seconde question ne se coche pas.

J'ai essayé de mettre ma deuxième question avec ma petite case qui se coche en fonction des condition, sur la même page ou sur la page d'après, rien y fait.

Pour la question avec la case unique checkbox, j'ai mis une question de type case à cocher réponse multiple. C'est peut etre là ou ça bloque?

Please Log in to join the conversation.

More
6 years 3 months ago #51137 by DenisChenu
Salut,

Il faut que les questions soient sur la même page. Pourrais tu donner un lien accessible pour le questionnaire, cela sera plus facile de débugguer.

:)

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

More
6 years 3 months ago #51298 by Chafish
Test questionnaireQuestionnaire test

voilà un lien de mon test !

Please Log in to join the conversation.

More
6 years 3 months ago - 6 years 3 months ago #51304 by DenisChenu
Ce sera difficile à voir sur ton test:
En fait la case est coché au moment ou tu clic sur suivant, pas quand tu clic sur les cases à cocher.

Fait apparaitre ensuite une question conditionnelle.

Cependant il y a une erreur juste après var minnombre=2;
$('#question'+qID+').show();

Le texte n'est pas fermé:
$('#question'+qID).show();

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
Last Edit: 6 years 3 months ago by DenisChenu.

Please Log in to join the conversation.

Moderators: Nickko
Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form