0 votes
in SoSci Survey (dt.) by s116548 (140 points)
edited by s116548

Problem: Auf Seite a) werden 6 Fragen mit Schiebereglern abgefragt. Diese sollen auf der nachfolgenden Seite b) wieder angezeigt werden mit einer Verschiebung (Manipulation) und darunter sollen die Proband*innen jeweils erneut eine Einschätzung auf neuen Schiebereglern abgeben.

Umsetzungsversuche:
Versuch 1) Den benötigten Schieberegler mit Hilfe von Javascript darstellen. Hier ist das Problem, dass der dafür benötigte und bereits vom Proband*innen eingegebene Wert zwar im php als Variable verfügbar ist, mir jedoch kein Weg bekannt ist auf diesen Wert im Javascript zuzugreifen.

Versuch 2) Den benötgten Schieberegler durch php funktionen darstelllen. Hier ist zwar eine erneute Darstellung der Frage inklusive Antwort möglich, jedoch keine Manipulation des Antwortwertes.

Freue mich über Rückmeldungen

1 Answer

0 votes
by SoSci Survey (328k points)

dass der dafür benötigte und bereits vom Proband*innen eingegebene Wert zwar im php als Variable verfügbar ist, mir jedoch kein Weg bekannt ist auf diesen Wert im Javascript zuzugreifen.

Kein Problem ... verwenden Sie Platzhalter, um den Wert in den JavaScript-Code zu schreiben. Wenn Sie den JavaScript-Code z.B. als Text "JS01" im Fragenkatalog angelegt haben, dann würde der PHP-Code zur EInbindung mit 3 Variablen wie folgt aussehen:

show('JS01', array(
  '%val1%' => value('SR01_01'),
  '%val2%' => value('SR01_02'),
  '%val3%' => value('SR01_03')
));

Im JavaScript-Code entsprechend:

var value1 = %val1%;
var value2 = %val2%;
var value3 = %val3%;

Die Einbindung kann natürlich auch etwas eleganter in den Code passieren.

Den benötgten Schieberegler durch php funktionen darstelllen. Hier ist zwar eine erneute Darstellung der Frage inklusive Antwort möglich, jedoch keine Manipulation des Antwortwertes.

Auch dies ist möglich - aber nur dann sinnvoll, wenn Sie den Teilnehmer die Möglichkeit geben möchten, dass sie die Werte wieder ändern.

In diesem Fall legen Sie eine Kopie der Schieberegler an, und verwenden Sie preset(), um den Antwort-Code vorzugeben.

by s116548 (140 points)
Danke, leider kommen wir immer trotz viel probieren und den Tipps noch nicht weiter. Vielleicht haben wir das Problem nicht genau genug beschrieben:

Wir fragen die Frage xy, welche mit einem Schieberegler mit Werten
zwischen 0% und 100% Prozent beantwortet werden muss. Auf der nachfolgenden Seite
wollen wir nun eine Kopie der Frage xy erneut stellen, jedoch inklusive einer
manipulierten Antwort darstellen, also den Antwortwert des Probanden (plus/minus einen Wert v). Danach soll der Proband erneut antworten können.

Konkretes Beispiel:
Der Probant Antwortet auf die Frage xy auf dem Schieberegler mit 60%.
Auf der folgenden Seite soll die Frage nun mit einem Schieberegler bei
50% (also um 10% verringert) angezeigt werden. Darunter soll nun ein
weiterer Schieberegeler, auf dem der Probant erneut antworten kann.

Wir schaffen es aber weiterhin nur, die Frage mit der gleichen Antwort
erneut darzustellen und scheitern daran, die Antwort des Probanden um
eine feste Prozentzahl zu manipulieren.

Hilfreich wäre ein Befehl im php, bei dem wir jeden Schieberegler der Vorseite einzeln bekommen und von dem Wert des Probanden addieren/subtrahieren können. Idealerweise so, dass der erste Wert des Probanden trotzdem gespeichert wird.
by SoSci Survey (328k points)
> Hilfreich wäre ein Befehl im php, bei dem wir jeden Schieberegler der Vorseite einzeln bekommen

Sie suchen hier den Befehl value()

Der komplette Code auf Seite 2 könnte dann z.B. wie folgt aussehen, wenn die Schieberegler auf Seite 1 die Kennung S101 haben und jene auf Seite 2 die Kennung S201:

$sr1 = value('S101_01');
$sr1m = $sr1 + 10;
preset('S201_01', $sr1m);

Dieser Code enthält noch keine Verarbeitung für die Fälle, dass gar keine Antwort gegeben wurde (Code -1) oder dass der Wert schon >90 ist, und es ich auch nur der Code für einen Schieberegler. Aber diese Ergänzungen sollten trivial sein.
by s116548 (140 points)
Super, vielen Dank! jetzt können wir mit folgendem Code, alle Regler manipulieren:

// Aufteilung in die Bedingungen 1 + 2:

urnDraw('conditions-urn','D202');
$zahl = value('D202_01');
if($zahl == 1) {
 html('Da es sich um besonders schwierige Fragen handelt, zeigen wir ihnen, wie 100 Menschen in einer Vorstudie entschieden haben. Darunter haben Sie die Möglichkeit erneut zu entscheiden.');
} elseif ($zahl == 2) {
 html('Da es sich um besonders schwierige Fragen handelt, geben wir ihnen hier ihre Entscheidungen nochmals zu überdenken. Igorieren Sie bitte die erste Anzeige unter den Frage und geben Sie ihre Entscheidung nochmals bei <strong> ihre erneute Einschätzung </strong> an.');
};

// Antwort aus der vorherigen Frage

$sr1 = value('D101_01');
$sr1m = $sr1 + 10;
preset('D201_01', $sr1m);
//question('D201', '1');

$sr2 = value('D101_02');
$sr2m = $sr2 + 10;
preset('D201_02', $sr2m);


$sr3 = value('D101_03');
$sr3m = $sr1 + 10;
preset('D201_03', $sr3m);


$sr4 = value('D101_04');
$sr4m = $sr4 + 10;
preset('D201_04', $sr4m);


$sr5 = value('D101_05');
$sr5m = $sr5 + 10;
preset('D201_05', $sr5m);


$sr6 = value('D101_06');
$sr6m = $sr6 + 10;
preset('D201_06', $sr6m);


question('D201', '1');
question('D201', '2');
question('D201', '3');
question('D201', '4');
question('D201', '5');
question('D201', '6');

Allerdings wird nur die erste Frage als Schieberegler von 0 bis 100 dargestellt, die übrigen 5 werden in zehner-Stufen mit Punkten angezeigt. Woran kann das noch liegen?
by s116548 (140 points)
siehe bild oben in der frage
by SoSci Survey (328k points)
Dabei handelt es sich um die Alternativ-Darstellung, wenn das JavaScript für den Schieberegler nicht korrekte geladen werden kann.

Meine Vermutung ist, dass es daran liegt, dass Sie die 6 Items einzeln einbinden anstatt die komplette Frage mit question('D201')

Funktionieren sollte es natürlich dennoch - allerdings könnte es ein paar Tage dauern, bis wir dieses Problem untersuchen und beheben können. Daher meine Frage: Besteht in Ihrem Fragebogen die Möglichkeit, die Frage einfach "komplett" einzubinden? Oder ist es methodisch notwendig, jedes Item einzeln einzubinden?
by s116548 (140 points)
Vielen Dank. Ich habe mich jetzt für einen Work-around entschieden. Leider muss immer manipulierte Frage, neue Einschätzung untereinander angezeigt sein, aber ich machen die Frage nun einfach auf einzelne Seiten, dann klappt die Darstellung.
Danke für die hilfreiche und schnelle Beantwortung! :)

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...