Bonjour,
J'utilise la version de limesurvey 2.64.7 build 170404.
Paramètres du questionnaire : Les réponses de ce questionnaire ne sont PAS anonymes.
Présentation groupe par groupe.
Un index complet des questions sera montré, les participants pourront aller directement aux questions pertinentes.
Je cherche à réaliser un test comprenant différentes catégories que j'ai donc séparé en groupe de question, le test devant être réalisé en un temps limite de 45 minutes j'ai intégré un timer sur l'ensemble du questionnaire. Le candidat participant au questionnaire va répondre au plus de question possible puis en laisser de côté pour y répondre si il lui reste du temps.
Dans cette logique j'ai consacré un dernier groupe de question avec une seule question de type équation qui fait office de récapitulatif avec pour chaque groupe de question le nombre de question non répondu et je voudrais en plus afficher sous chaque groupe une liste de lien vers les question non répondu qui chargerais la page du groupe puis effectuerais un scroll jusqu'à la question.
je peux correctement afficher les questions non répondu ainsi que les liens mais uniquement si je précise {QID} par {QID}, j'ai attribué les codes de mes questions de sorte à savoir que tel question est la n
ieme question de tel groupe de sorte à automatiser le traitement en utilisant deux boucles puis en appelant une fonction qui prend en paramétrè le {QID} et vérifie count(qid)==0 pour ajouter ou non le lien vers cette question dans la liste.
Mais premier problème : une erreur arrive, le paramètre qid de ma fonction est considéré par count() comme une variable non défini ce qui me fait penser que les fonction EM s’exécute avant le JS ce qui fait que count s'effectu sur le nom de variable qid et non son contenu qui serait par exemple A001. D'où ma question, peut-on modifier ce comportement ?
Je n'ai toujours pas compris comment les réponses étaient enregistrés au changement de page mais d'après quelques rare post sur le sujet j'ai cru comprendre qu'un autre moyen d'accéder au question se faisait par ajax et jquery, la question serait alors comment procéder ?
Code:
for(var nbg=0; nbg<2;nbg++){ //test avec 2 groupes
for(var nbq=0; nbq<5;nbq++){ // comportant 5 questions chacun
if(nbg==0){
g="A";
}else if(nbg==1){
g="B";
}
isAnswered((g+"00"+nbq),g)
}
}
function isAnswered(nq,ng){
if({count(nq)}==0){
var objUL = document.getElementById(ng);
var objLI=document.createElement( 'li' );
objLI.innerHTML = "<p>(nq,ng) : ("+nq+","+ng+")</p>"; //insertion de text pour tester
objUL.insertBefore( objLI , objUL.firstChild );
}
}
second problème : je ne me suis pas encore occupé de la redirection des liens, j'avais pensé à un click sur le bouton du groupe dans l'index mais dans ce cas comment faire savoir après le chargement de la page qu'un scroll doit s'effectuer ?
Encore une fois ajax et jquery ?
Merci d'avance pour toute réponse que vous pourriez m'apporter.