0 votes
in SoSci Survey (dt.) by s068255 (120 points)

Guten Tag,

ich würde gerne für eine Reihe von Stimuli, die mit einer Bewertung auf einem Slider einher gehen, die Verweildauer messen, sprich wie lange Teilnehmende gebraucht haben, um den entsprechenden Stimulus zu betrachten und anschließend mittels des Sliders zu bewerten.
Stimuli und dazugehörige Slider sind in einem PHP-Code in den Fragebogen eingepflegt, es gibt somit keine eigenen Fragebogenseiten und die TIME-Variable von SoSci ist nicht geeignet.
Folgendes JavaScript habe ich als Textbaustein hinter den PHP-Code gezogen, und auch entsprechend eine interne Variable (VD01) angelegt, in welcher die Zeiten gespeichert werden sollen (diese ist im Fragebogen vor dem JavaScript):

<script type="text/javascript" src="../script/LatencyRimer.js"></script>
<script type="text/javascript">
var stopWatch = new LatencyTimer();
for (var item=1; item<=30; item++){
var itemS= item.toString();
if (itemS.length < 2) {
itemS = "0"+itemS;
}
stopWatch.registerSlider("SL01_"+itemS, "VD01_"+itemS, true);

}

Die Slidervariable ist entsprechend SL01_, insgesamt gibt es 30 Slider-Fragen, die die Teilnehmenden beantworten müssen.
Bei Verwendung dieses Codes wird mir bei Untersuchung mittels DevTools die Meldung: "No matching slider found SL01_01" angezeigt und dies entsprechend fortlaufend für alle 30 Items.
Leider finde ich nirgendwo einen Hinweis, wo hier das Problem liegt und freue mich daher sehr über eine Rückmeldung diesbezüglich! Vielen Dank im Voraus.
Anbei Screenshots des vorgeschalteten PHP-Codes:

1 Answer

0 votes
by SoSci Survey (306k points)

>Bei Verwendung dieses Codes wird mir bei Untersuchung mittels DevTools die Meldung: "No matching slider found SL01_01" angezeigt

Sie zeigen ja immer nur einen der Schieberegler. Verraten Sie dem JavaScript-Code, welcher das jeweils ist. Sie haben ja...

question('SL01', $bildNr);

Und diese $bildNr können Sie auch an den JavaScript-Code übergeben, z.B.

replace('%bildNr%', $bildNr);

Und im HTML-Code:

<script type="text/javascript">
var stopWatch = new LatencyTimer();
var item = %bildNr%;
var itemS= item.toString();
if (itemS.length < 2) {
  itemS = "0"+itemS;
}
stopWatch.register...

Der JavaScript-Code muss außerdem unter den Schieberegler. Sonst ist dieser wirklich noch nicht vorhanden, wenn der Code ausgeführt wird. Eventuell müssen Sie mittels windows.addEventListener("load", ..) sogar dafür sorgen, dass Ihr Code erst nach dem Laden der Seite und dem Initialisieren der Schieberegler läuft.

by s068255 (120 points)
Vielen Dank für die schnelle Antwort, ich habe den Code so abändern können, dass es jetzt funktioniert!

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

...