Welcome to the LimeSurvey Community Forum

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

Préremplir champs de réponse avec table invitation

  • scoum59
  • scoum59's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
12 years 2 weeks ago #75596 by scoum59
Bonjour,

Je reprends le suivi d'une base LimeSurvey existante, je rencontre ce problème de pré-remplissage des champs de réponse et aurais bien besoin d'un coup de main...

Alors en fait j'ai des questionnaires existants, j'ai besoin de modifier ces questionnaires et j'ai une liste de personnes qui devront en saisissant un code accéder au formulaire pré-rempli par les infos dont je dispose.

Les champs d'attributs personnalisés avait déjà été créés par la personne en charge de l'appli avant, donc en créant des invitations et remplissant les champs par les infos dont je dispose, tout est OK : en saisissant le code d'invit' les champs sont bien pré-remplis, reste pour la personne à compléter le reste.

Pour donner le détail en fait j'ai 5 questionnaires, ce sont les mêmes, il n'y a que le nom du questionnaire qui change et forcément la table du questionnaire. J'ai passé pas mal de temps à modifier le questionnaire et pour éviter de faire la même chose sur les 4 autres, j'ai fait un export de la structure du questionnaire. J'ai fait 4 imports de cette structure en renommant le questionnaire (j'ai 5 fois le même questionnaire pour un besoin spécifique).

Pour les 4 questionnaires créés j'ai donc bien la même structure, j'ai créé les champs d'attributs personnalisés et importé les invitations que j'avais déjà saisies.

Par contre surprise quand j'ai testé, les champs ne sont plus pré-remplis sur les questionnaires pour lesquels j'ai importé la structure du questionnaire modifié.

En lisant ce sujet et comparant un peu mes exports en CSV, j'ai bien l'impression que la personne avant moi avait insérer le code pour le pré-remplissage. Et donc quand je récupère la structure du questionnaire modifié, il reprend le même numéro de table de questionnaire donc je pense que c'est pour ca que ca ne fonctionne pas... d'où ma question, comment pourrais-je modifier le n° de table de questionnaire sur les 4 nouveaux? je ne retrouve pour les questionnaires que les fichiers en .frm, .MYI et .MYD, est-ce que je peux d'une façon modifier ca là dedans?

Pour info la version LimeSurvey est la Version 1.87+ Build 8518.

Et voilà une partie de code de la structure qui fonctionne :

"191","88477","41","S","01","Nom <script>\njQuery(document).ready( \n function(){ \n document.getElementById(""answer88477X41X191"").value = '{TOKEN:LASTNAME}'; \n document.getElementById(""answer88477X41X192"").value = '{TOKEN:FIRSTNAME}'; \n document.getElementById(""answer88477X41X193"").value = '{TOKEN:ATTRIBUTE_1}'; \n document.getElementById(""answer88477X41X194"").value = '{TOKEN:ATTRIBUTE_2}'; \n document.getElementById(""answer88477X41X195"").value = '{TOKEN:ATTRIBUTE_3}'; \n document.getElementById(""answer88477X41X196"").value = '{TOKEN:ATTRIBUTE_5}'; \n document.getElementById(""answer88477X41X197"").value = '{TOKEN:ATTRIBUTE_4}'; \n document.getElementById(""answer88477X41X198"").value = '{TOKEN:ATTRIBUTE_6}'; } );\n </script>","","","N","Y","0","0","0","fr"
"192","88477","41","S","5","Prénom","","","N","Y","0","0","1","fr"

D'avance merci.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
12 years 2 weeks ago #75603 by DenisChenu
Salut,

Le changement se fait via phpmyadmin, mais ici il vaut mieux partir sur la modification du code à posterori.

Les numéro des answer peuvent être modifié comme suit:
answer-numeroduquestionnaire-X-numerodugroupe-X-numerodelaquestion-

Ca sera beaucoup plus sur.

J'ai déplacé ton message sur un nouveau fil pour plus de clarté.

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: scoum59
The topic has been locked.
  • scoum59
  • scoum59's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
12 years 2 weeks ago #75658 by scoum59
Merci pour la réponse.

Et donc dans ce cas, une idée de la commande SQL qui me permettrait de remplacer tous les "answer88477X41X191" par un autre numéro via Phpmyadmin?

Merci.

Maxime
The topic has been locked.
  • scoum59
  • scoum59's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
12 years 2 weeks ago #75696 by scoum59
J'ai bien l'impression que tout ce que je peux exploiter par phpmyadmin, ce sont les réponses au questionnaire... je ne trouve pas la structure du questionnaire.

N'y a-il pas un moyen d'importer une structure de questionnaire sur un questionnaire déjà créé? Je n'aurais dans ce cas qu'à modifier le code de la structure et la réinjecter... mais là je n'arrive qu'à importer une structure que si je créé un nouveau questionnaire. Le truc c'est qu'en partant sur un nouveau questionnaire on part sur une nouvelle table, et si je ne connais pas avant le nom de table qui va être généré je ne peux adapter le code.

Help! ^^
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
12 years 2 weeks ago #75713 by DenisChenu
Salut,

Quand tu dois faire un code javascript pour un questionnaire spécifique cela demande X heures de travail.
Adapter ce code pour de multiples questionnaires peux demander 5 à 10 fois plus de temps ....

Il faut jouer énormément du jquery, tu peux aussi te servir de fonction qui vont chercher les informations par rapport à un numéro de question etc ....

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 topic has been locked.
More
12 years 2 weeks ago - 12 years 2 weeks ago #75727 by darknico84
Bonjour,

Je me permet de m'incruster sur le fil car j'ai un problème nonpas similaire, mais qui concerne l'utilisation des tokens attributes dans le préremplissage des réponses à une question.
J'ai ajouté un attribut variant d'un utilisateur a l'autre (parmis les invités qui doivent repondre à l'enquête) et en fonction de cet attribut, j'aimerais automatiquement cocher une réponse dans une question à choix unique. J'ai donc désactivé le filtre, et dans ma question j'ai mis le code suivant :

<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
if('{TOKEN:attribute_1}' == 'test1') {$("input#answer51145X130X6309A1").attr('checked', true);}
if('{TOKEN:attribute_1}' == 'test2') {$("input#answer51145X130X6309A2").attr('checked', true);}
if('{TOKEN:attribute_1}' == 'test3') {$("input#answer51145X130X6309A3").attr('checked', true);}
if('{TOKEN:attribute_1}' == 'test4') {$("input#answer51145X130X6309A4").attr('checked', true);}
if('{TOKEN:attribute_1}' == 'test5') {$("input#answer51145X130X6309A5").attr('checked', true);}
});
</script>

Où 51145 est mon code questionnaire, 130 mon code groupe, 6309 mon code question et Ax mes réponses.
Le hic c'est que lorsque je teste avec un utilisateur qui a bien le attribute_1 renseigné avec "test1" et bien il ne se passe rien. Point de case précochée.
Où me goure-je donc ?

Merci d'avance pour vos lumières.

Nicolas

PS : le limesurvey utilisé est le 1.91+ Build 120226 et la punition est identique avec la 1.92
Last edit: 12 years 2 weeks ago by darknico84.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
12 years 2 weeks ago #75736 by DenisChenu
Tu as un lien pour que l'on puisse regarder ?

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 topic has been locked.
More
12 years 2 weeks ago #75769 by darknico84
enquete.peyresaubes.com/index.php?sid=51145

voilà le lien d'accès à l'inscription
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
12 years 2 weeks ago #75775 by DenisChenu

darknico84 wrote: enquete.peyresaubes.com/index.php?sid=51145

voilà le lien d'accès à l'inscription

Le questionnaire est anonyme ?

Sinon, met le
TOKEN:ATTRIBUTE_1 en majuscule .

Ici il n'est même pas remplacé.


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: darknico84
The topic has been locked.
More
12 years 2 weeks ago #75776 by darknico84
Bonjour et merci pour tes tests et ton aide, apparemment le fait de passer ATTRIBUTE_1 en majuscule... c'est à en devenir fou :) il me semblait avoir testé cette possibilité (peut être le proxy au travers duquel je passais m'a joué des tours pour mes divers tests).
Encore merci beaucoup :)
The topic has been locked.
More
11 years 11 months ago - 11 years 11 months ago #78829 by darknico84
Bonsoir la foule en délire,

Je viens de me rendre compte d'un truc c'est que si le précodage se fait à priori correctement, et je pensais qu'en cachant la question et en la rendant obligatoire, cela se passait de la même manière (réponses automatique à certaines questions en fonction des attributs de la liste d'invitation).
Quelqu'un est-il arrivé à répondre automatiquement, même lorsque la question est cachée ?

Merci d'avance pour vos lumières
Last edit: 11 years 11 months ago by darknico84.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 11 months ago #78842 by DenisChenu
Salut,

Il existe maintenant différentes façon de pré-remplir un questionnaire, la nouvelle méthode avec la question de type équation est celle conseillée.

Pour les autres, la question n'est pas affichée, donc le javascript n'est pas pris en compte. Dans ce cas il faut la masquer en javascript ou via le css.

Pour le javascript:
Code:
$("#questionQQQ").hide();
Avantage : pour les personnes n'ayant pas de javascript activé : ils pourront répondre d'eux même. Inconvénient : la question est affichée un cours instant.
Pour le CSS:
Code:
#questionQQQQ{display:none}

Par contre, selon le questionnaire, il peut être intéressant de poser réellement une question, et d'utiliser le gestionnaire d'expression pour indiquer une valeur par défaut et demander confirmation.
Le problème initial doit être faisable, mais pas encore pris el temps de regarder.

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 topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose