0 votes
in SoSci Survey (dt.) by u275341 (300 points)

Liebes Sosci- Survey-Team,

Ich würde gerne einen Filter anlegen, für die Frage nach der E-Mail Adresse bei dem Fragetyp Opt-In für E-Mail-Verteiler. Und zwar soll - falls keine E-Mail-Adresse eingegeben wurde - eine nächste Seite im Fragebogen erscheinen, auf der ich nach dem Grund dafür frage.

Wie wäre dies umsetzbar?

Vielen Dank und viele Grüße

1 Answer

0 votes
by SoSci Survey (320k points)

Die Opt-In-Frage speichert die Personenkennung, die mit der E-Mail-Adresse verknüpft wird.

Sie können also filtern, ob eine solche Kennung hinterlegt wurde bzw. eben nicht, was der Leere String ('', zwei Anführungszeichen) wäre:

if (value('OF01') == '') {
  question('AB01'); //  Frage nach den Gründen
}
by u275341 (300 points)
Vielen Dank für die schnelle Antwort! So sieht mein Code jetzt aus:

if (value('Q001') == '')

 {
  goToPage('N123'); // Zeigt die Seite N123 an, wenn keine Mailadresse eingetragen wurde
}

Und dies hier steht im Debug-Modus, wenn ich es teste: [Inhalt]    Erstelle Frage Q001
[Information]    value("Q001") = ""
[Verarbeitung]    Springe zur Seite N123 (Nr. 19)
[Verarbeitung]    Erstelle Seite 19 in Fragebogen A1_E
[Inhalt]    Erstelle Frage O001

Allerdings werde ich nicht auf Seite 19 geleitet, sondern es kommt direkt Seite 20 im Fragebogen. Der Filter funktioniert also noch nicht korrekt. Was könnte ich falsch gemacht haben?
by SoSci Survey (320k points)
Laut Debug-Information wird die Frage O001 angezeigt ... ist das nicht der Fall? Was ist denn auf Seite 20 ?
by u275341 (300 points)
Ja, es ist komisch, denn Frage O001 wird auf Seite 18 angezeigt, obwohl sie auf Seite 19 sein soll. Oben steht auch: [A1_E] – Seite 18+19. Kann es sein dass Seite 18 und 19 auf einer Seite angezeigt werden? Ich habe versucht den Cache zu leeren, das hat leider nicht geholfen. Auf Seite 20 geht es dann mit dem Fragebogen weiter.
by SoSci Survey (320k points)
> Oben steht auch: [A1_E] – Seite 18+19

Das bedeutet, dass Seite 18 entweder keinen Inhalt hat und es deshalb direkt mit Seite 19 weiter geht, oder dass auf Seite 18 ein goToPage() zu Seite 19 ist. In beiden Fällen werden die Inhalte von Seite 18 und 19  gemeinsam angezeigt, korrekt. Das ist so beabsichtigt.
by u275341 (300 points)
Danke für den Hinweis. Auf Seite 18 ist in der Tat ein goToPage zu Seite 19. Welchen Befehl muss ich verwenden, damit Seite 19 eine eigene Seite bekommt? Denn ich würde es gerne so programmieren, dass Seite 19 einschließlich Frage O001 nur angezeigt wird, wenn das Email-Feld leer bleibt.
by SoSci Survey (320k points)
Was möchten Sie denn mit dem goToPage() auf Seite 18 bezwecken?
by u275341 (300 points)
Vermutlich ist es einfach der falsche Befehl gewesen? Ich wollte einen Filter installieren, der denjenigen, die nicht ihre Email-Adresse auf Seite 18 eintragen, eine weitere Seite (Seite 19) anzeigt. Auf dieser Seite werden sie befragt, warum sie nicht am Follow-Up teilnehmen möchten. Also diese Seite soll nicht für alle erscheinen, sondern nur für diejenigen, die nicht ihre Email-Adresse angeben.
by SoSci Survey (320k points)
Wenn Sie goToPage() verwenden möchten, dann am besten im "umgedrehten" Sinne. Und zwar platzieren Sie oben auf der Seite, die gefiltert werden soll, einen Filter, welcher die Seite überspringt, wenn die Bedingung zum Anzeigen nicht zutrifft.

if (value('OF01') != '') {
  goToPage('next');
}

Oder Sie verwenden eben den oben geposteten Code, um einfach nur die Frage ein- oder auszublenden. Wenn sonst keine Inhalte auf der Seite stehen, dann macht SoSci Survey (in der Standardeinstellung) automatisch mit der nächsten Seite weiter.
by u275341 (300 points)
Vielen Dank! Jetzt funktioniert es :)

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

...