0 votes
ago in SoSci Survey (dt.) by s297728 (120 points)

Liebes SoSci-Team,

für eine Studie arbeite ich gerade an einem Fragebogen, in dem die Darstellung mancher Seiten zeitlich begrenzt werden soll. Ich habe bisher den folgenden PHP-Code in meinem Fragebogen eingebaut:

  if (!isset($time0)) {
  $time0 = time();
  registerVariable($time0);  // Die Variable $time0 auch nach Ende des PHP-Codes aufbewahren
}
// Prüfung, ob die Zeit schon abgelaufen ist
// (z.B. weil der Teilnehmer die Seite neu geladen hat)
$timer = 60;  // Der Teilnehmer hat 1 Minute (60 Sekunden) Zeit zur Bearbeitung
if (time() >= $time0 + $timer) {
  goToPage('next');
}
// Die verbleibende Zeit muss auch dem JavaScript-Code bekannt gemacht werden
$remain = $time0 + $timer - time();
replace('%remain%', $remain);

Und entsprechend der Anleitung (https://www.soscisurvey.de/help/doku.php/de:create:timer-submit) als Textbaustein den folgenden Code in den Fragebogen integriert:

<script type="text/javascript">
<!--
 
// Funktion zur Weiterleitung
function weiter() {
  // Eine Meldung anzeigen (optional)
  alert("Die Zeit ist vorbei.");
  // Den Teilnehmer zur nächsten Seite weiterleiten
  SoSciTools.submitPage();
}
 
// Weiter-Knopf ausblenden (optional)
SoSciTools.submitButtonsHide();
 
// Initialisierung der Weiterleitung
SoSciTools.attachEvent(window, "load", function(evt) {
  // Timer für automatische Weiterleitung starten
  window.setTimeout(weiter, %remain% * 1000);
});
 
// -->
</script>

Das Ziel ist es jedoch, dass ein Bild auf einer Fragebogenseite angezeigt, danach die Seite automatisch geschlossen und auf die nächste Seite gesprungen wird. Dass automatisch weitergeleitet wird, ist wichtig, da auf den zeitlich begrenzten Seiten ein Stimulusmaterial angezeigt werden soll, welches wirklich nur für eine begrenzte Zeit sichtbar sein sollte. Die zeitliche Begrenzungen der Seiten sollen unabhängig von einander sein (z.B. Seite 1 begrenzt auf eine Minute, Seite 2 begrenzt auf 1,5 Minuten).

Leider ist meine Bewanderung mit PHP eher gering und ich wüsste auf Anhieb nicht, ob und wie ich den Code weiter definieren kann.

Ich freue mich sehr, wenn es dafür eine Lösung gibt.

Vielen Dank im Voraus!

ago by SoSci Survey (340k points)
Was funktioniert denn mit dem o.g. Code bereits und was noch nicht?
ago by s297728 (120 points)
Mit dem oben genannten Code läuft bereits ein Timer, nach dessen Ablauf der Alert erscheint, dass die Zeit abgelaufen ist. Mein Ziel ist es aber, dass im Fragebogen automatisch zur folgenden Seite weitergeleitet wird, sodass das als Stimulusmaterial vorgelegte Bild nach Ablauf der Zeit nicht mehr sichtbar ist.
ago by SoSci Survey (340k points)
Dann entfernen Sie bitte die Zeile mit dem alert(). Dadurch läuft der Code direkt weiter zum submitPage(), heißt der Fragebogen springt zur nächsten Seite.
ago by s297728 (120 points)
Vielen Dank für die schnelle Unterstützung!

Please log in or register to answer this question.

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

...