0 votes
in SoSci Survey (dt.) by s186862 (155 points)
edited by s186862

Hallo,
ich versuche eine Multilevelstruktur zu verwenden um in meinem Projekt "How well does one tell sarcasm" die Frage "WM01" immer wieder zu stellen (so oft, bis der Teilnehmer auf "Ende" klickt).
Ich habe jetzt einen Fragebogen "base" und einen "sub01". Wie erreiche ich jetzt von hier aus mein Ziel?
Gebe ich einfach auf Seite 2 von "sbu01" den Befehl "multiLevelDown('sub01');" Um immer wieder im Kreis zu gelangen? Käme ich dann immer noch mit einem einzigen Klick auf die vorletzte Seite von "base"?

Und wie sorge ich dafür, dass der verwendete Datenbank-Eintrag mit in der Auswertung ist/ Dass die Auswertungstabellen in einer nutzbaren Form vorliegen?
Ich kann nicht genauer erklären, beim letzten Versuch bin ich während dem Schreiben abgemeldet worden.

1 Answer

0 votes
by SoSci Survey (327k points)

Das "im Kreis" müssen Sie im Haupt-Fragebogen definieren- Am einfachsten erreichen Sie das mittels loopPage(). Dort können Sie eine große Anzahl an Wiederholungen wählen (was ist pro Person realistisch, wenn Sie noch sinnvolle Daten erwarten?) oder Sie arbeiten mit goToPage() oder setNextPage().

In der Anleitung zur Multi-Level Struktur finden Sie recht weit unten ein Beispiel mit loopPage(). Ich würde empfehlen, dass Sie damit einmal starten.

Der Abbruch, wenn ein Befragter nicht mehr mag, ist relativ einfach. Entweder die Befragten schließen einfach das Browserfenster oder Sie bieten im untergeordneten Fragebogen einen Knopf oder eine Auswahl und geben die Wahl mittels multiLevelReturn() zurück, sodass Sie im übergeordneten Fragebogen die Schleife ggf. per goToPage() beenden können.

Und wie sorge ich dafür, dass der verwendete Datenbank-Eintrag mit in der Auswertung ist/ Dass die Auswertungstabellen in einer nutzbaren Form vorliegen?

Andere Baustelle ... aber am besten schreiben Sie die notwendigen Daten per put() in eine oder mehrere interne Variablen.

by SoSci Survey (327k points)
Wenn Sie den Code der beiden Fragebögen posten, kann ich gerne mehr dazu sagen. Wenn Sie die Debug-Information posten, von der Stelle wo es schief läuft, kann ich wahrscheinlich noch akkurater weiterhelfen.
by s186862 (155 points)
Im base:
loopPage(9000);
multiLevelDown('sub01');
Im sub01
Auf seite "down" (1):
buttonToPage('Last', 'End');
html(
  '<div style="text-align: center; margin: 2em 0">'.
  buttonToPage('Last', 'End').
  '</div>'
);
[+inhalt]
Seite "Re"(2)
multiLevelReturn();
Seite "Last" (3)
SetNextPage('end');
[+ inhalt]
Seite "end" ist nur html
by SoSci Survey (327k points)
> Nutzer werden trotz SetNextPage(end) zurück zu den Fragen geschickt.

Nein, im Gegenteil. Sie werden genau wegen des setNextPage('end') zurück geschickt. Denn nach Abschluss eines untergeordneten Fragebogens (=Erreichen der letzten Seite) geht es automatisch zurück zum übergeordneten Fragebogen.

Mein Vorschlag wäre ja, dass sie auf der Seite "Last" im Fragebogen "sub01" Ihre Abschlussfragen einbinden und danach eine Pseudo-Ende-Seite:

text('adieu');
buttonHide();

Alternativ müssten Sie mit unterschiedlichen multiLevelReturn() arbeiten und dann im übergeordneten Fragebogen einen Filter einbauen. Dies ist komplizierter und bietet m.E. in Ihrem Fall keinen großen Vorteil.
by s186862 (155 points)
Dass heißt einfach nur buttonHide(); und meine Lösung wäre ok?
so tun, als ob der Fragebogen auf der vorletzten Seite endet?
by SoSci Survey (327k points)
Korrekt. Eine Letzte Seite, die technisch keine ist.

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

...