Welcome to the LimeSurvey Community Forum

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

Übertragung von Variablen

  • Eddie23
  • Eddie23's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 8 months ago #231868 by Eddie23
Übertragung von Variablen was created by Eddie23
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: 3.22.12
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud
Genutzte Designvorlage:
==================
Hallo Umfrage-Profis,

ich habe meine Umfrage nun fast fertiggestellt, hänge jedoch noch an einem einzigen Problem. Ich möchte für meine Umfrage die Szenariotechnik anwenden. Dabei sollen den Probanden zufällig und möglichst gleichverteilt eines von drei Szenarien angezeigt werden (die nachfolgenden Fragen sind für jedes Szenario gleich). Dazu habe ich folgenden Quelltext angefertigt:
<center><img alt="" id="1" src="/umfragen/limesurvey/upload/surveys/542979/images/Keine%20Antworten1.jpg" style="display: none; width: 800px; height: 753px;" /><img alt="" id="2" src="/umfragen/limesurvey/upload/surveys/542979/images/Knappe%20Beantwortung%20.jpg" style="display: none; width: 800px; height: 950px;" /> <img alt="" id="3" src="/umfragen/limesurvey/upload/surveys/542979/images/Freundliche%20Beantwortung%20.jpg" style="display: none; width: 800px; height: 1092px;" /></center>
<script>
 var random = rand(1,3)
 var elem;
   if(random==1){
     elem = document.getElementById('1');
   }
   else {
     if(random==2) {
       elem = document.getElementById('2');
       }
        else {
       elem = document.getElementById('3');
   }};
  elem.style.display = "block";
</script>
Dieser funktioniert soweit auch wie gewollt. Einziges Problem ist, dass ich bei den ausgefüllten Umfragen nicht erkennen kann, welches Szenario der Proband zugeteilt bekommen hat. Ich muss mir also noch irgendwie die Variable 'random' ausgeben lassen. Meine Idee: eine vorgelagerte versteckte Gleichungsfrage mit var random = rand(1,3) im Fragetext und {random} in Gleichung unter Logik. Dabei habe ich noch zwei Probleme:
1) bei der versteckten Gleichungsfrage wird immer nur 'random' ausgegeben anstatt dem Wert der Variablen
2) konnte ich bisher nicht herausfinden, wie ich die Variable random in die nächste Fragegruppe zu den Szenarien implementieren kann. that.R.random (R ist der Fragecode der versteckten Gleichungsfrage) funktioniert schon mal nicht.

Über Lösungsvorschläge wäre ich sehr dankbar, sitze nun schon eine ganze Weile an dem Problem.
Beste Grüße

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 8 months ago - 1 year 8 months ago #231874 by Joffm
Replied by Joffm on topic Übertragung von Variablen
Hallo,
Du hast Dich zwar gerade erst im Forum angemeldet, ich hoffe aber, dass Du bereits vorher fleißig die Beiträge studiert hast.
Dein Ansatz ist ja so etwas wie "von hinten durch die Brust ins Auge".
Stichwort ist natürlich "Zufallszahl".
Und dies wird hier gefühlt dreimal pro Woche gezeigt.
Nur, wie Du sie implementieren willst,

eine vorgelagerte versteckte Gleichungsfrage mit var random = rand(1,3) im Fragetext und {random} in Gleichung unter Logik

ist es schlicht falsch.
Versteckte Frage vom Typ "Gleichung". Nennen wir sie "random".
In den Fragetext
{if(is_empty(random),rand(1,3),random)}
und nichts anderes.

Der Sinn dieses Konstruktes ist, dass sich nun eine einmal ausgewürfelte Zufallszahl nicht mehr ändert - sie wird ja nur erzeugt, wenn sie noch leer ist, sonst bleibt sie.
Die Zufallszahl kann sich nämlich ändern, sei es, dass der Teilnehmer wieder auf diese Seite zurückgeht, sei es, dass sie zusammen mit anderen Fragen in einer Gruppe ist (bei gruppenweiser Ansicht).
Dann ändert sich die Zufallszahl bei jedem Klick. Das ist analog zur Zufallszahl in Excel. Kannst Du da ja ausprobieren.

Und jetzt gibt es für Deine Anzeige zwei Möglichkeiten:
1. Drei Fragen, die fest ein bestimmtes Bild anzeigen, und mittels Relevanzgleichung eingeblendet werden (random==1, bzw. random==2, usw.)
2. Eine Frage, in welcher das der Zufallszahl entsprechende Bild mittels eines verschachtelten IF eingeblendet wird.
Irgendwie so:
<img src="/umfragen/limesurvey/upload/surveys/542979/images/{if(random==1,'Keine Antworten1.jpg',if(random==2,'Knappe Beantwortung.jpg','Freundliche Beantwortung.jpg'))}" style="width: 800px;">

Und wenn Du die Bilder "geschickt" benennst "Bild1.jpg","Bild2.jpg","Bild3.jpg" (oder ähnlich) wird es ganz einfach
<img src="/umfragen/limesurvey/upload/surveys/542979/images/Bild{random}.jpg" style="width: 800px;">

Das ist alles.

Joffm

Und hier ein kleines Beispiel
 

File Attachment:

File Name: limesurvey...7847.lss
File Size:16 KB


Wenn man - wie oben - doppelte und einfache Anführungszeichen mischen muss, empfiehlt es sich, nicht den "Inline HTML-Editor" zu benutzen (dieser hat ein paar eigene Vorstellungen, wie Dinge zu behandeln sind), sondern den Quelltext-Editor ("Kein HTML Editor").
Einzustellen in "Konto / Persönliche Einstellungen"

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 1 year 8 months ago by Joffm.

Please Log in to join the conversation.

  • Eddie23
  • Eddie23's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 8 months ago #231890 by Eddie23
Replied by Eddie23 on topic Übertragung von Variablen
Hallo Joffm,

vielen lieben Dank für deine Tipps, ich habe es nun endlich geschafft. Ich hatte tatsächlich auch viele Beiträge im Forum dazu durchgelesen, aber einfach keine Lösung für mein Problem gefunden. Lag wohl auch daran, dass ich mich in meiner komplizierten Herangehensweise ziemlich verkopft habe. Habe die Umfrage nun nochmal komplett neu gemacht und nun funktioniert es einwandfrei. Obendrein sind die Codes nun längst nicht mehr so kompliziert. 

Schöne Woche noch!

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 8 months ago #231891 by holch
Replied by holch on topic Übertragung von Variablen

R ist der Fragecode der versteckten Gleichungsfrage


Und hier liegt der Grund, warum das hier nicht funktioniert:

Meine Idee: eine vorgelagerte versteckte Gleichungsfrage mit var random = rand(1,3) im Fragetext und {random} in Gleichung unter Logik.


Du willst das Ergebnis der versteckten Gleichungsfrage "R" anzeigen, nutzt aber "random". Du musst natürlich {R} nehmen.

Dann hast du aber mit "random=rand(1,3)" auch noch ein Problem. Wenn das so in R steht, dann wird dir {R} genau das ausgeben: "random=rand(1,3)".

Richtig ist natürlich nur "rand(1,3)", weil das aber dazu führen kann, dass die Zufallszahl mehr als einmal ausgewürfelt wird, nimmst du das was Joffm beschrieben hat, da diese Formel verhindert, dass eine bereits ausgewürfelte Zufallszahl in nicht nochmal ausgewürfelt wird. Aber es ist extrem wichtig, wie du die versteckte Gleichungsfrage nennst, denn mit diesem Namen rufst du ja das Ergebnis der Forme auf. Daher versteckt man diese Gleichungsfragen auch erst, wenn man alles getestet hat, dann sieht man nämlich sofort, dass da Blödsinn in der Gleichung steht. Eigentlich sollte sich Limesurvey auch beschweren, dass deine Gleichung nicht richtig ist.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

Please Log in to join the conversation.

Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose