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

0 votes

Hallöchen,

eigentlich müsste es mit meinem Skript klappen, tut es aber nicht: Nach Ablauf des Timers würde ich die Probandin gerne auf eine bestimmte Seite weiterleiten, nicht auf die Nächste.
Im PHP-Code sieht man, dass ich goToPage('next') zu ..('wza') umgeändert habe. Trotzdem landet man nach Ablauf des Timers dann auf der nächsten Seite.

Was kann ich tun? Über Antworten wäre ich sehr dankbar; hier mein Skript:

PHP
if (!isset($time0)) {
  $time0 = time();
  registerVariable($time0);  
$timer = 5;  
if (time() >= $time0 + $timer) {
  goToPage('wza');
}

$remain = $time0 + $timer - time();
replace('%remain%', $remain);
}
JAVA ALS TEXT IM HTML-FORMAT
<script type="text/javascript">
<!--

function weiter() {
  SoSciTools.submitPage();
}
// Initialisierung der Weiterleitung
SoSciTools.attachEvent(window, "load", function(evt) {

  SoSciTools.submitButtonsHide();

  window.setTimeout(weiter, %remain% * 1000);
});

</script>
in SoSci Survey (dt.) by s077462 (130 points)
edited by SoSci Survey

1 Answer

0 votes

Sie haben hier zwei Verarbeitungsschritte:

  1. Die neue Seite wird auf dem Server erstellt, dabei wird vom PHP-Code geprüft, ob die Zeit bereits abgelaufen ist. Das macht vor allem dann Sinn, wenn der Timer über mehrere Seiten läuft oder wenn eine Seite wiederholt angezeigt wird. Wenn das der Fall ist, wird das goToPage() aktiv.

  2. Dann wird dei Seite an den Browser des Teilnehmers übermittelt und dort startet das JavaScript. Selbiges setzt einen Timeout - und wenn die Zeit vorbei ist, dann wird die Funktion weiter() aufgerufen, welche wiederum mittels SoSciTools.submitPage() wuasi von selbst den Weiter-Knopf klickt.

Falls Sie je nach Situation - Ablauf des Timers oder manuellem Klick auf Weiter - unterschiedliche Seiten anzeigen wollen würden, müssten Sie mit buttonToPage() arbeiten und damit quasi den Weiter-Knopf ersetzen.

Aber in Ihrem Fall möchten Sie immer zu einer anderen Seite springen, oder? Kein Problem, verwenden Sie dafür im PHP-Code einfach den Befehl setNextPage().

by SoSci Survey (238k points)
Vielen Dank, ich versuche es mal.
...