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!