0 votes
in SoSci Survey (dt.) by s296721 (150 points)

Guten Tag,

ich würde gerne in meinem Fragebogen 400 Items mittels Schieberegler bewerten lassen. Damit Teilnehmende nicht zusätzlich zu den 400 Bewertungen noch 400 mal Weiter klicken müssen, würde ich gerne nach Tastendruck automatisch die nächste Frage anzeigen lassen.

Ich habe gefunden, wie man den Weiter Button ausblenden kann. Leider hilft mir das alleine erstmal nicht viel weiter. Wie könnte ich mein Problem lösen?

Aktuell habe ich ie Fragen immer in 20er Paare auf Seiten gebündelt. Gibt es zusätzlich auch die Möglichkeit, diese einfach nacheinander anzuzeigen oder muss ich 400 Seiten erstellen?

Danke!

1 Answer

0 votes
by SoSci Survey (327k points)

Aktuell habe ich ie Fragen immer in 20er Paare auf Seiten gebündelt. Gibt es zusätzlich auch die Möglichkeit, diese einfach nacheinander anzuzeigen oder muss ich 400 Seiten erstellen?

Sehen Sie sich dazu bitte loopPage() an.

Ich denke nicht, dass es methodisch sinnvoll ist, eine Person 400 Bewertungen abgeben zu lassen. Zumindest nicht ohne kontrollierte Erholungspausen. Aber wenn Sie das trotzdem machen wollen, dann können Sie alle 400 Items im Prinzip über eine einzelne Seite im Fragebogen sequenziel anzeigen lassen.

Damit Teilnehmende nicht zusätzlich zu den 400 Bewertungen noch 400 mal Weiter klicken müssen, würde ich gerne nach Tastendruck automatisch die nächste Frage anzeigen lassen.

Versuchen Sie es bitte mit folgenden HTML-/JavaScript-Code:

<script type="text/javascript">
SoSciTools.submitButtonsHide();
window.addEventListener("keyup", function(e) {
    if (e.keyCode == 32){
        SoSciTools.submitPage();
    }
});
</script>

Dieser Code löst bei jedem Druck der Leertaste (keyCode 32) einen Klick auf "Weiter" aus.

by s296721 (150 points)
Vielen Dank für die Antwort, das werde ich versuchen.

Inzwischen habe ich versucht das Ganze als lab.js Experiment zu coden und als einzelne Blöcke einzubinden. Während das Experiment in lab js funktioniert, kann ich nach Einbindung in soscisurvey den submit Button nicht mehr nutzen. Konkreter versuche ich, dass die Probanden auf der jeweiligen Seite einen Schieberegler einstellen und diesen dann mittels Tastendruck oder Mausklick auf einen button absenden.


[<main class="content-horizontal-center content-vertical-center">
  <div>
    
    <div class="m-l" style="height: 200px">
      <p class="font-weight-bold">
        ${parameters.word}
        
      </p>
      <p class="m-l" style="height: 100px">
         ${parameters.Bewertung}
      </p>
      <form id="pumps-form">
        <input
          type="range"
          name="pumps" id="pumps"
          class="w-100"
          min="1" max="100" step="1"
          value="0"
        >
      </form>
    </div>
  </div>
</main>

<button type="submit" form="pumps-form">
    Bewertung senden! &rarr;
  </button> ]

Sobald ich den code in Sosci laufen lasse, kann ich den "Bewertung senden" Button nicht mehr nutzen. Ich kann zwar mit jedem beliebigen Tastendruck die Seite wechseln lassen, aber dann wird die aktuell eingestellte Bewertung nicht gespeichert.

Für einen Tipp wäre ich sehr dankbar
by s296721 (150 points)
Kurzes Update hierzu (falls mal jemand dasselbe Problem hat :)): Wenn ich einstelle, dass das gesamte Browserfenster von LabJS genutzt werden soll, klappt es!
by SoSci Survey (327k points)
> Inzwischen habe ich versucht das Ganze als lab.js Experiment zu coden und als einzelne Blöcke einzubinden.

Kann man machen, das ist aber technisch um zwei Größenordnungen aufwändiger ... und entsprechend auch ein wenig fehleranfälliger. Aber wenn Sie damit glücklich sind, dann will ich Ihnen nicht reinreden :)
by s296721 (150 points)
Ich versuche nun wieder komplett auf socsisurvey umzustellen, da ich von SS die Rückmeldung bekomme, dass der output von labjs zu groß ist und nicht gespeichert werden könne. Deshalb hätte ich noch zwei Rückfragen, danke!

1) Ich füge den Java Code zum Aktivieren des enterbuttons übr html ein. Es wird mir zwar kein weiter button mehr angezeigt, jedoch passiert auch nichts wenn ich versuche über Enter die Seite zu wechseln. Hätten Sie eine Idee woran dies liegen könnte?

2) Wie kann ich mir ausgeben lassen, in welcher Reichenfolge die geshuffleten Elemente gezeigt wurden? Ich würde dies gerne speichern.
by s296721 (150 points)
Okay, Punkt 1 funktioniert aber 2 habe ich leider noch immer nicht gepackt :( Ich müsste wissen, in welcher Reihenfolge die Leute, die Items gesehen haben
by SoSci Survey (327k points)
>  da ich von SS die Rückmeldung bekomme, dass der output von labjs zu groß ist und nicht gespeichert werden könne

Aufgrund historischer Erwägungen scheint mir die Abkürzung "SoSci" besser geeignet.

Sie können in der Lab.JS-Frage aber bei Bedarf umstellen, dass die Daten nicht im Datensatz, sondern als Datei gespeichert werden. Dann sind auch größere Dateien möglich.  In Ihrem Anwendungsfall ist das aber nicht unbedingt sinnvoll.

>  jedoch passiert auch nichts wenn ich versuche über Enter die Seite zu wechseln.

Dann prüfen Sie bitte als erstes, ob Ihr Script überhaupt greift - am einfachsten mit einem console.log() und einem Blick in die JavaScript-Konsole Ihres Browsers:

<script type="text/javascript">
SoSciTools.submitButtonsHide();
window.addEventListener("keyup", function(e) {
    console.log(e, e.keyCode);  // NEU
    if (e.keyCode == 32){
        SoSciTools.submitPage();
    }
});
</script>

> 2) Wie kann ich mir ausgeben lassen, in welcher Reichenfolge die geshuffleten Elemente gezeigt wurden?

Normalerweise werden Sie loopPage() mit einem Zufallsgenerator kombinieren - letzterer liefert und speichert die Reihenfolge. Da Sie nocht nichts zur Randomisierung geschrieben haben, kann ich im Moment nicht konkreter antworten.
by s296721 (150 points)
Vielen Dank, sie haben Recht, die Abkürzung ist unglücklich. Entschuldigung! Könnten Sie kurz spezifizieren, wieso es nicht sinnvoll wäre bzw. was könnten die Probleme sein?

Der Seitenwechsel hat funktioniert. Ich shuffle nun folgendermaßen:
if (!isset($fragen)) {
  // Liste aller Fragen aus Rubrik RS
  $fragen = getQuestions('M0');
  // Die Liste der Fragen (Array) mischen und zwischenspeichern
  shuffle($fragen);
  registerVariable($fragen);
}
// Alle Kennungen aus der Liste $fragen abarbeiten
$frage = loopPage($fragen);
question($frage);

Jedoch wird mir in den Daten zwar die abgegebenen ratings gespecihert aber nicht die Reihenfolge in denen diese angezeigt worden sind. Wie kann ich dies ausgeben lassen?

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

...