Leider nicht.
In der Anleitung dieser Seite gibt es keine DIV mit "timeDisplay":
https://www.soscisurvey.de/help/doku.php/de:create:timer-submit
Das hier ist mein PHP-Code:
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 = 150; // Der Teilnehmer hat 2,5 Minute (150 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);
Das hier ist der HTML-Textcode:
<script type="text/javascript">
<!--
// Funktion zur Weiterleitung
function weiter() {
// 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>
Daraufhin folgt noch der folgende HTML-Code:
<p>Verbleibende Zeit: <span id="remain"></span></p>
<script type="text/javascript">
<!--
// Funktion zur Weiterleitung
function weiter() {
// Den Teilnehmer zur nächsten Seite weiterleiten
SoSciTools.submitPage();
}
// Countdown anzeigen
var date0 = new Date();
var timeout = date0.getTime() + %remain% * 1000;
function updateCountdown() {
// Zeit berechnen
var date = new Date();
var time = Math.ceil((timeout - date.getTime() - 50) / 1000); // Verbleibende Zeit in Sekunden
// Zeit anzeigen
var out = document.getElementById("remain");
if (!out) {
return;
}
while (out.lastChild) {
out.removeChild(out.lastChild);
}
var minutes = Math.floor(time / 60);
var seconds = String(time - 60 * minutes);
var display = String(minutes) + ":" + seconds;
var displayNode = document.createTextNode(display);
if (seconds.length < 2) seconds = "0" + seconds;
out.appendChild(displayNode);
}
// Weiter-Knopf ausblenden (optional)
SoSciTools.submitButtonsHide();
// Initialisierung der Weiterleitung
SoSciTools.attachEvent(window, "load", function(evt) {
// Zusätzlicher Timer für die Aktualisierung des Countdowns
window.setInterval(updateCountdown, 1000);
updateCountdown();
// Timer für automatische Weiterleitung starten
window.setTimeout(weiter, %remain% * 1000);
});
// -->
</script>
Könnten Sie mir sagen, wo ich bei diesen Bestandteilen den Befehl ergänze? Ich habe bereits einiges ausprobiert, aber es entsteht leider nicht das gewünschte Layout.
Herzlichen Dank vorab.