0 votes
in SoSci Survey (dt.) by s227471 (195 points)

Ich habe ein Befragungsprojekt angelegt, das aus mehreren Fragebögen besteht. In einem ersten Fragebogen werden Zeiten erfragt, zu denen Serienmails versendet werden können. Per Code werden dann exakte Zeitpunkte bestimmt, zu denen die Serienmails versendet werden sollen. Dabei soll die erste Serienmail erst am nächsten Tag verschickt werden, die eigentliche Befragung (zweiter Fragebogen) beginnt somit einen Tag nach dem ersten Fragebogen.

Wird der Fragebogen aufgerufen, obwohl die Befragung erst am nächsten Tag startet, erscheint "Deine erste SMS-Befragung startet ab morgen."

Allerdings soll es den Teilnehmenden möglich sein, über einen "event-based" Link (Serienmail mit der ID 23) jederzeit auf den zweiten Fragebogen zuzugreifen - auch vor der ersten Serienmail. Hierzu habe ich folgenden Code geschrieben (der letzte Befehl funktioniert nicht):

by s227471 (195 points)
//erste Serienmail wird am nächsten Tag versendet
if ($t0 == 0 && value('REF') == 'event'){
html(
  '<h1 align="center" style="color:#FFFFFF; font-size: 15px; font-weight: normal">Deine erste SMS-Befragung startet ab morgen. <h1>');
}

//Start des 2. Fragebogens
else{
if (($t1 - $t0) > 15*60){
html(
  '<div style="text-align: center; margin: 4em; font-weight:bold">'.
  buttonToPage('cAffect', 'START').
  '</div>');
}

// hier möchte ich einstellen, dass Teilnehmende mit dem event-based Link den Fragebogen sofort starten können
else{
if ($mailID == 23){
html(
  '<div style="text-align: center; margin: 4em; font-weight:bold">'.
  buttonToPage('cAffect', 'START').
  '</div>');
}
// Code ist an dieser Stelle noch nicht abgeschlossen, für die Frage jedoch nicht relevant


----------


Kann mir jemand sagen, wo hierbei der Fehler liegt und wie mein Problem gelöst werden kann?

Dafür wäre ich sehr dankbar!

1 Answer

0 votes
by SoSci Survey (302k points)

Wird der Fragebogen aufgerufen, obwohl die Befragung erst am nächsten Tag startet, erscheint "Deine erste SMS-Befragung startet ab morgen."

Nun, das scheint Ihr erster Zweig im IF-Filter zu sein, der da greift.

Wenn $t0 den Wert 0 hat und als Referenz "event" übergeben wird, DANN kommt diese Meldung. Womöglich meinten Sie

if ($t0 == 0 && value('REF') != 'event') {

Aber womöglich möchten Sie auch prüfen, welche Serienmail verwendet wurde? Dann wäre die Funktion panelData() und aus dem Ergebnis der Eintrag 'mailing' für Sie relevant.

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

...