0 votes
in SoSci Survey (dt.) by s101588 (320 points)

Liebes Sosci Survey-Team!

Ich möchte, dass meine Probanden vier verschiedene Abbildungen 10 Sekunden betrachten und dann automatisch zur nächsten Seite weitergeleitet werden, auf der eine Frage zu der jeweiligen Abbildung erscheint. Versucht habe ich es bisher mit:

if (!isset($time1)) {
  $time1 = time();
  registerVariable('time1');  // Die Variable $time1 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 = 10;  // Der Teilnehmer hat 10 Sekunden Zeit zur Bearbeitung
if (time() >= $time1 + $timer) {
  goToPage('next');
}
// Die verbleibende Zeit muss auch dem JavaScript-Code bekannt gemacht werden
$remain = $time1 + $timer - time();
replace('%remain%', $remain);

Dieser php-Code befindet sich auf derselben Seite, auf der auch das erste Bild ist, bzw. ist noch über dem Bild.

Leider funktioniert die automatische Weiterleitung auf die nächste Seite nicht. Muss der Weiter-Button extra unterdrückt werden?

Vielen Dank für eure Hilfe!

Scarlett

1 Answer

0 votes
by SoSci Survey (327k points)
selected by s101588
 
Best answer

Dieser PHP-Code sorgt nur dafür, dass - wenn der Timer schon über mehrere Seiten lief (oder die aktuelle Seite neu geladen wurde) - die aktuelle Seite übersprungen wird, sollte er schon abgelaufen sein.

Was Sie jetzt benötigen ist ein wenig JavaScript-Code, der sich um die eigentliche zeitgesteuerte Weiterleitung kümmert.

Den Weiter-Knopf dürfen (!) Sie nicht ausblenden - zumindest nicht per PHP-Code - sonst klappt es mit der Weiterleitung nicht mehr.

by s101588 (320 points)
Danke schon mal für die Antwort! Ich habe den PHP-Code, der den Weiter-Knopf verbirgt, direkt entfernt. Wie könnte der JavaScript-Code aussehen bzw. wo kann ich den finden?
by SoSci Survey (327k points)
Nehmen Sie doch einfach den aus der Anleitung:
https://www.soscisurvey.de/help/doku.php/de:create:timer-submit
by s101588 (320 points)
Hab ich gemacht, jetzt wird mir der Java-Textbaustein alelrdings im Fragebogen selbst auch angezeigt.
by SoSci Survey (327k points)
Haben Sie als "Darstellung" für den Textbaustein "HTML-Code" ausgewählt? Nur dann wird der Code als HTML-/JavaScript-Code interpretiert. Sonst einfach nur als Text.
by s101588 (320 points)
Ja, habe ich. Es bleibt allerdings dabei, der Code wird vor dem Bild dargestellt, der Weiter-Button ist zu sehen und man wird nicht automatisch nach einer bestimmten Zeit auf die nächste Seite weitergeleitet.

Vielleicht noch mal, wie ich die Elemente auf der Seite angeordnet habe:
Zuerst der PHP-Code, den ich oben beschrieben habe, dann folgt der Textbaustein und dann schließlich das Bild.
by SoSci Survey (327k points)
Hatten Sie beim Textbaustein das "HTML-Code" ausgewählt *bevor* Sie den Code eingefügt haben? Wenn nicht, dann wurde aus <script> nämlich &lt;script&gt; - und das ist kein <script>-Tag mehr, sondern nur noch der Text <script>.

Lösung: Darstellung zurückstellen, Inhalt kopieren, Darstellung auf HTML-Code, dann Inhalt wieder einfügen. Am Ende muss oben "HTML-Code" und unten "<script..."> stehen.
by s101588 (320 points)
Es hat funktioniert!!! DANKE (:

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

...