Eine der größten Vorteile eines elektronischen Fragebogens ist, dass er dynamisch auf Antworten des Teilnehmer reagieren kann. Dieses Kapitel liefert einen kurzen Überblick.
Filterfragen – das heißt im einfachsten Fall, dass abhängig von der Antwort des Teilnehmers („Nutzen Sie Facebook?“) im späteren Verlauf des Fragebogens Fragen/Items angezeigt oder ausgeblendet werden. In einigen Fällen wird der Teilnehmer auch von der weiteren Teilnahme ausgeschlossen (Screenout).
pageStop()
Ein Spezielfall von Filterfragen ist die Übernahme ausgewählter Items in eine andere Frage.
Beispiel: In einer Mehrfachauswahl werden jene Online-Dienste abgefragt, die ein Teilnehmer nutzt. Später soll dann dann in einer Skala abgefragt werden, wie häufig er die ausgewählten Dienste nutzt.
Mitunter möchte man nicht warten, bis der Teilnehmer auf „Weiter“ klickt, sondern bei der Auswahl einer Antwort soll sofort eine andere Frage ein-/ausgeblendet werden.
Der Teilnehmer hat eine Antwort ausgewählt (Auswahlfragen) oder eingetippt (Texteingabe, Texteingabe mit Auswahlempfehlung) – und diese Antwort soll später im Fragebogen im Text, in einer Frage oder in Items auftauchen.
Mit Platzhaltern können Textschnipsel an beliebiger Stelle dynamisch ausgetauscht werden. Sobald ein Platzhalter definiert wurde, steht es im gesamten folgenden Fragebogen zur Verfügung.
Bei mehrwelligen Befragungen sollten dem Teilnehmer unter Umständen Antworten aus einer früheren Befragungswelle angezeigt werden. Die Umsetzung hängt davon ab, wie man die mehrwellige Erhebung technisch gestaltet hat.
mailResume()
value()
und replace()
wie gewohnt verwendet werden. In einer Welle definierte Platzhalter stehe auch in späteren Wellen zur Verfügung.dbSet()
gespeichert und in späteren Erhebungen mittels dbGet()
abgerufen werden.Das nachfolgende Beispiel zeigt die Übermittlung von Antworten aus Interview A ins spätere Interview B. Voraussetzung ist, dass die Teilnehmer mittels Serienmails zu beiden Befragungswellen eingeladen wurden – oder dass sie anderweitig personalisierte Links mit einem Teilnahmecode erhalten (Der Link zum Fragebogen).
Im ersten Fragebogen sollen die Antworten auf die Auswahlfrage AF01
und die offene Texteingabe TX01_01
für die spätere Verwendung abgespeichert werden. Als Schlüssel zum Speichern wird dabei die Teilnehmerkennung aus Variable SERIAL
verwendet (Zusätzliche Variablen in der Datenausgabe, caseSerial()
).
$key = caseSerial(); $data = array( value('AF01', 'free'), value('TX01_01') ); dbSet($key, $data);
Im zweiten Fragebogen werden diese Daten dann mittels dbGet()
wieder abgerufen und mittels replace()
in Platzhalter geschrieben, die dann in Frage-/Itemtexten verwendet werden können:
$key = caseSerial(); $data = dbGet($key); replace('%auswahl%', $data[0]); replace('%texteingabe%', $data[1]);
Tipp: Zum Verständnis des PHP-Codes ist das Kapitel Einführung in Arrays hilfreich.
Tipp: Falls Sie die Datenbank für Inhalte im Befragungsprojekt noch anderweitig nutzen möchten, stellen Sie dem Schlüssel einfach ein Präfix voran. Ersetzen Sie die Zeile mit $key =
in beiden Codes etwa durch…
$key = 'DT-'.caseSerial();