Selection automatique d'une réponse (Boutons radio) selon un attribut

Mehr
4 Jahre 3 Monate her - 4 Jahre 3 Monate her #93547 von toto01
toto01 erstellte das Thema Selection automatique d'une réponse (Boutons radio) selon un attribut
Bonjour,

La question a été posée plusieurs fois sur le forum, mais je ne parviens pas à implémenter cette fonctionnalité. Voici les informations relatives à mon installation :

- Serveur : Ubuntu 12.04 / apache 2 / PHP 5
- Limesurvey Version 2.00+(130311)
- XSS : Désactivé
- Questionnaires : tests effectués en anonyme ou non-anonyme (même résultat)

Description du contexte :

Mener des enquêtes de satisfaction sur des séjours de vacances hébergés. Dans mes questionnaires, la première question propose de sélectionner la station qui à acceuillie le participant. Je souhaiterais que la réponse à cette question soit automatiquement pré-remplis par rapport à un attribut "station". Pour cela :

- Dans la table des participants centralisés, j'ai un attribut "station" (20 stations référencées).
- Dans chaque questionnaires, j'ai un attribut personnalisé "station".
- Quand j'affecte un participant à un questionnaire, l'attribut est correctement transmis de la table centralisé vers la table "Token", correspondant aux questionnaires.

Premier problème :

L'URL contenue dans le mail d'invitation : j'ai tenté de jouer avec les paramètres {SURVEYURL}, {TOKEN:ATTRIBUTE_1}, {ATTRIBUTE_1} tel que suggéré sur le forum. Les données s'affichent bien dans le corps du mail mais l'URL d'invitation n'est pas correctement formatée et donc inexploitable. Je n'ai pas trouvé d'information concrète dans la documentation, relative à la concaténation de ces expressions. Pour l'instant je modifie donc l'URL manuellement pour intégrer le bon attribut, exemple :

[...]index.php/survey/index/sid/171262/token/9zdhk7zp6rziy4a/ATTRIBUTE_1/BLB/newtest/Y

Deuxième problème :

Pour que la bonne réponse soit automatiquement sélectionnée, j'ai récupéré un script sur ce forum, que j'ai adapté à mes questionnaires, voici un exemple correspondant à l'URL ci-dessus :
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
if('ATTRIBUTE_1' == 'AML') {$("input#answer171262X1X1A1").attr('checked', true);}
if('ATTRIBUTE_1' == 'BLB') {$("input#answer171262X1X1A2").attr('checked', true);}
if('ATTRIBUTE_1' == 'BBT') {$("input#answer171262X1X1A3").attr('checked', true);}
if('ATTRIBUTE_1' == 'LBL') {$("input#answer171262X1X1A4").attr('checked', true);}
if('ATTRIBUTE_1' == 'BBA') {$("input#answer171262X1X1A5").attr('checked', true);}
if('ATTRIBUTE_1' == 'CMB') {$("input#answer171262X1X1A6").attr('checked', true);}
if('ATTRIBUTE_1' == 'CLE') {$("input#answer171262X1X1A7").attr('checked', true);}
if('ATTRIBUTE_1' == 'CRS') {$("input#answer171262X1X1A8").attr('checked', true);}
if('ATTRIBUTE_1' == 'EUG') {$("input#answer171262X1X1A9").attr('checked', true);}
if('ATTRIBUTE_1' == 'GRX') {$("input#answer171262X1X110").attr('checked', true);}
if('ATTRIBUTE_1' == 'JZC') {$("input#answer171262X1X111").attr('checked', true);}
if('ATTRIBUTE_1' == 'LML') {$("input#answer171262X1X112").attr('checked', true);}
if('ATTRIBUTE_1' == 'LXL') {$("input#answer171262X1X113").attr('checked', true);}
if('ATTRIBUTE_1' == 'MTG') {$("input#answer171262X1X114").attr('checked', true);}
if('ATTRIBUTE_1' == 'LMD') {$("input#answer171262X1X115").attr('checked', true);}
if('ATTRIBUTE_1' == 'PRC') {$("input#answer171262X1X116").attr('checked', true);}
if('ATTRIBUTE_1' == 'LPR') {$("input#answer171262X1X117").attr('checked', true);}
if('ATTRIBUTE_1' == 'SAM') {$("input#answer171262X1X118").attr('checked', true);}
if('ATTRIBUTE_1' == 'SHB') {$("input#answer171262X1X119").attr('checked', true);}
if('ATTRIBUTE_1' == 'SLB') {$("input#answer171262X1X120").attr('checked', true);}
});
</script>

Ce script a été ajouté dans la section "Aide" et/ou "Question" de la première question, malheureusement il semble ne pas être correctement interprété par LimeSurvey (il est valide sur "Online JavaScript Validator"). Quand je regarde le code source de la page contenant la question, je vois bien le JavaScript, mais il n'est pas correctement formaté (contiens du html) et un message d'erreur est affiché à l’intérieur de celui-ci. exemple du début du script :
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
if('ATTRIBUTE_1' == 'AML') <span style='background-color: #eee8aa;'>
<span title='Syntaxe non pris en charge'[...]

Voici mes premiers pas avec la gestion des attributs. Si quelqu'un de plus expérimenté ayant déjà rencontré ce type de problème pouvait m'aider cela ne serait pas de refus :)

Merci !
Letzte Änderung: 4 Jahre 3 Monate her von toto01. Begründung: Fautes

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 3 Monate her - 4 Jahre 3 Monate her #93550 von Ben_V
Ben_V antwortete auf das Thema: Selection automatique d'une réponse (Boutons radio) selon un attribut
Salut,
Pour le javascript essaie le code suivant:
(à coller directement dans la source de l'aide ou de la question )
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
if('ATTRIBUTE_1' == 'AML') { $("#answer171262X1X1A1").attr('checked', true); }
if('ATTRIBUTE_1' == 'BLB') { $("#answer171262X1X1A2").attr('checked', true); }
if('ATTRIBUTE_1' == 'BBT') { $("#answer171262X1X1A3").attr('checked', true); }
if('ATTRIBUTE_1' == 'LBL') { $("#answer171262X1X1A4").attr('checked', true); }
if('ATTRIBUTE_1' == 'BBA') { $("#answer171262X1X1A5").attr('checked', true); }
if('ATTRIBUTE_1' == 'CMB') { $("#answer171262X1X1A6").attr('checked', true); }
if('ATTRIBUTE_1' == 'CLE') { $("#answer171262X1X1A7").attr('checked', true); }
if('ATTRIBUTE_1' == 'CRS') { $("#answer171262X1X1A8").attr('checked', true); }
if('ATTRIBUTE_1' == 'EUG') { $("#answer171262X1X1A9").attr('checked', true); }
if('ATTRIBUTE_1' == 'GRX') { $("#answer171262X1X110").attr('checked', true); }
if('ATTRIBUTE_1' == 'JZC') { $("#answer171262X1X111").attr('checked', true); }
if('ATTRIBUTE_1' == 'LML') { $("#answer171262X1X112").attr('checked', true); }
if('ATTRIBUTE_1' == 'LXL') { $("#answer171262X1X113").attr('checked', true); }
if('ATTRIBUTE_1' == 'MTG') { $("#answer171262X1X114").attr('checked', true); }
if('ATTRIBUTE_1' == 'LMD') { $("#answer171262X1X115").attr('checked', true); }
if('ATTRIBUTE_1' == 'PRC') { $("#answer171262X1X116").attr('checked', true); }
if('ATTRIBUTE_1' == 'LPR') { $("#answer171262X1X117").attr('checked', true); }
if('ATTRIBUTE_1' == 'SAM') { $("#answer171262X1X118").attr('checked', true); }
if('ATTRIBUTE_1' == 'SHB') { $("#answer171262X1X119").attr('checked', true); }
if('ATTRIBUTE_1' == 'SLB') { $("#answer171262X1X120").attr('checked', true); }
});
</script>

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
Last Releases => 2.6x.x goo.gl/ztWfIV | 2.06/2.6.x => bit.ly/1Qv44A1
Demo Surveys => goo.gl/HuR6Xe (already included in /docs/demosurveys)
Letzte Änderung: 4 Jahre 3 Monate her von Ben_V.

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 3 Monate her #93552 von DenisChenu
DenisChenu antwortete auf das Thema: Selection automatique d'une réponse (Boutons radio) selon un attribut
Yep: pour utiliser les { } ajouter des espaces pour qu'ils ne soient pas pris en compte par le gestionnaire d'expression.

Sinon, les questionnaires sont anonyme ?

Avec la méthode manuelle, cela fonctionne, si oui: le lien à indiquer:
http://example.org/index.php/survey/index/sid/{SID}/token/{TOKEN}/SQGQA/{TOKENATTRIBUTE_1}/newtest/Y

Avec SGQA à 171262X1X11 (je pense)

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 (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 3 Monate her #93590 von toto01
toto01 antwortete auf das Thema: Selection automatique d'une réponse (Boutons radio) selon un attribut
Bonjour,

Tout dabord merci pour ce retour rapide. Pour le JavaScript, effectivement le JavaScripot est correctement interprété avec les espaces entre les {}.
Par contre, je ne parviens pas à passer correctement l'attribut dans l'URL. La balise {SID} n'existe pas et si je passe les valeurs manuellement, rien ne se passe lors de la première question.

N'y a-t-il pas une documentation complète sur l'utilisation des attributs ?

Merci !

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 3 Monate her #93594 von DenisChenu
DenisChenu antwortete auf das Thema: Selection automatique d'une réponse (Boutons radio) selon un attribut
Juste pour {SID}, je suis quasi sur qu'elle est replacer par le numéro du questionnaire lors de l'envoi des mails.

Mais concernant les attributs, tu peux directement les utiliser dans le questionnaire si celui-ci est non anonyme. C'est le cas ou non ?

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 (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 3 Monate her #93596 von toto01
toto01 antwortete auf das Thema: Selection automatique d'une réponse (Boutons radio) selon un attribut
RE,

Les questionnaires sont anonyme. Je vais faire un test en non-anonyme.

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 3 Monate her - 4 Jahre 3 Monate her #93628 von toto01
toto01 antwortete auf das Thema: Selection automatique d'une réponse (Boutons radio) selon un attribut
RE,

Voici les quelques tests que j'ai fait avec une URL construite à la main (impossible d'obtenir une URL correct avec les champs de remplacement) :

mondomaine.fr/index.php/survey/index/sid/758286/token/6qsu326x55mzkqu/758286X15X72/A1/newtest/Y

En anonyme : La réponse n'est pas sélectionnée.
En non-anonyme : même résultat.

J'ai vérifier plusieurs fois les numéros de questionnaire/groupe/question/réponse et tout est correcte.
Letzte Änderung: 4 Jahre 3 Monate her von toto01. Begründung: modification

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 3 Monate her #93636 von DenisChenu
DenisChenu antwortete auf das Thema: Selection automatique d'une réponse (Boutons radio) selon un attribut
Salut,

Test dabord que à l'envoi
{SID} et {TOKEN} sont bien remplacé. Cela devrait être le cas.

Ensuite, le lien à indiquer est:
/index.php/survey/index/sid/{SID}/token/{TOKEN}/newtest/Y?758286X15X72=A1

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).
An error happen ? Before make a new topic : remind the Debug mode .

Bitte Anmelden um der Konversation beizutretten.

Mehr
4 Jahre 3 Monate her #93799 von toto01
toto01 antwortete auf das Thema: Selection automatique d'une réponse (Boutons radio) selon un attribut
Bonjour,

J'ai finalement réussit à faire fonctionner la sélection automatique de la première réponse, avec un attribut spécifique. Le liens proposé précédemment fonctionne.

Merci beaucoup pour votre assistance.

Cordialement,

Bitte Anmelden um der Konversation beizutretten.

Moderatoren: Nickko

Jetzt loslegen!

Melden Sie sich jetzt an, und erstellen Sie in wenigen Minuten Ihre erste Umfrage.

Account einrichten