Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

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

Selection automatique d'une réponse (Boutons radio) selon un attribut il y a 1 an 8 mois #93547

  • toto
  • Portrait de toto
  • Hors ligne
  • Fresh Lemon
  • Messages : 13
  • Remerciements reçus 1
  • Karma: 0
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 !
Dernière édition: il y a 1 an 8 mois par toto. Raison: Fautes
L'administrateur a désactivé l'accès en écriture pour le public.

Selection automatique d'une réponse (Boutons radio) selon un attribut il y a 1 an 8 mois #93550

  • Ben_V
  • Portrait de Ben_V
  • Hors ligne
  • Platinum Lime
  • Messages : 1146
  • Remerciements reçus 273
  • Karma: 79
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

goo.gl/Bw5iM => Recherche GG dans le forum français (remplacer "exemple" dans la barre de recherche)
goo.gl/WX8PH => GG search for english forum (Replace "example" in the search bar)
goo.gl/IxiGu => Búsqueda en el foro en español (Cambiar "ejemplo" en la barra de...
Dernière édition: il y a 1 an 8 mois par Ben_V.
L'administrateur a désactivé l'accès en écriture pour le public.

Selection automatique d'une réponse (Boutons radio) selon un attribut il y a 1 an 8 mois #93552

  • DenisChenu
  • Portrait de DenisChenu
  • Hors ligne
  • Moderator Lime
  • Messages : 6551
  • Remerciements reçus 868
  • Karma: 257
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
L'administrateur a désactivé l'accès en écriture pour le public.

Selection automatique d'une réponse (Boutons radio) selon un attribut il y a 1 an 8 mois #93590

  • toto
  • Portrait de toto
  • Hors ligne
  • Fresh Lemon
  • Messages : 13
  • Remerciements reçus 1
  • Karma: 0
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 !
L'administrateur a désactivé l'accès en écriture pour le public.

Selection automatique d'une réponse (Boutons radio) selon un attribut il y a 1 an 8 mois #93594

  • DenisChenu
  • Portrait de DenisChenu
  • Hors ligne
  • Moderator Lime
  • Messages : 6551
  • Remerciements reçus 868
  • Karma: 257
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
L'administrateur a désactivé l'accès en écriture pour le public.

Selection automatique d'une réponse (Boutons radio) selon un attribut il y a 1 an 8 mois #93596

  • toto
  • Portrait de toto
  • Hors ligne
  • Fresh Lemon
  • Messages : 13
  • Remerciements reçus 1
  • Karma: 0
RE,

Les questionnaires sont anonyme. Je vais faire un test en non-anonyme.
L'administrateur a désactivé l'accès en écriture pour le public.

Selection automatique d'une réponse (Boutons radio) selon un attribut il y a 1 an 8 mois #93628

  • toto
  • Portrait de toto
  • Hors ligne
  • Fresh Lemon
  • Messages : 13
  • Remerciements reçus 1
  • Karma: 0
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.
Dernière édition: il y a 1 an 8 mois par toto. Raison: modification
L'administrateur a désactivé l'accès en écriture pour le public.

Selection automatique d'une réponse (Boutons radio) selon un attribut il y a 1 an 8 mois #93636

  • DenisChenu
  • Portrait de DenisChenu
  • Hors ligne
  • Moderator Lime
  • Messages : 6551
  • Remerciements reçus 868
  • Karma: 257
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
L'administrateur a désactivé l'accès en écriture pour le public.

Selection automatique d'une réponse (Boutons radio) selon un attribut il y a 1 an 8 mois #93799

  • toto
  • Portrait de toto
  • Hors ligne
  • Fresh Lemon
  • Messages : 13
  • Remerciements reçus 1
  • Karma: 0
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,
L'administrateur a désactivé l'accès en écriture pour le public.
Modérateurs: Nickko
Temps de génération de la page : 0.436 secondes
Donation Image