Hallo! Ich habe folgendes Problem. Dieser Code // Eine Meldung anzeigen
alert("Die Zeit ist vorbei. "); führt dazu, dass das Feld zweimal mit ok weggedrückt werden muss. Wenn ich es entferne, wechselt es automatisch zur nächsten Seite. Jedoch finde ich die Meldung hilfreich. Wie ist es möglich das der Befehl alert nicht zu einer doppelten Anzeige des Fensters führt?
Ich wäre sehr dankbar!
<script type="text/javascript">
<!--
// 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>
<p>Verbleibende Zeit: <span id="remain"></span></p>
<script type="text/javascript">
<!--
// Funktion zur Weiterleitung
function weiter() {
// Eine Meldung anzeigen
alert("Die Zeit ist vorbei. Drücke 2x auf Ok");
// 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);
if (seconds.length < 2) seconds = "0" + seconds;
var display = String(minutes) + ":" + seconds;
var displayNode = document.createTextNode(display);
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);
});
// -->