Übergabe des Countdowns an eine Textbox
Bosco
- javascript
Hallo Leute,
ich brauche mal Eure Hilfe, ich habe bis jetzt nicht rausgefunden, wie ich den Countdown statt in der Statusleiste in einer Textbox übergeben kann. Ich habe es lang und breit versucht, anscheinend bin ich zu doof dafür.... Hier der Code:
-----------------------------------------------------------------
<script language="JScript">
<!--
var countdown = "18000";
function doCount()
{
if (countdown > 0){
countdown--
}
else{
document.location = "seite.htm"
}
var s = countdown;
var h = Math.floor(s/3600);
var m = Math.floor((s - (h * 3600))/60);
s = (s-(h*3600))%60
window.status=h+":"+m+":"+s+ " bis zur nächsten Seite"
setTimeout('doCount()',1000)
}
doCount()
//-->
</script>
<INPUT TYPE="Text" size="30" ID="txtClock" value="Zeit" readonly>
-----------------------------------------------------------------
Ich danke Euch sehr, wenn Ihr helfen könnt!
Mit vielen Grüßen
Bosco
Hallo Bosco,
Du kannst deine Textbox mittels DOM ganz einfach ansprechen:
document.getElementById("txtClock").value = "5 Sekunden";
statt den "5 Sekunden" gibst du dann halt deine Ausgabevariable an.
mfg,
Daniel
Hallo Bosco,
Du kannst deine Textbox mittels DOM ganz einfach ansprechen:
document.getElementById("txtClock").value = "5 Sekunden";
statt den "5 Sekunden" gibst du dann halt deine Ausgabevariable an.
mfg,
Daniel
Hallo und danke Daniel!
Was JavaScript betriff bin ich kein Profi. Ich habe gemäß Deines Vorschlages
document.getElementById("txtClock").value = ""+h+":"+m+":"+s+"";
ins Script gesetzt, leider kommt die Fehlermeldung:
document.getElementById(...) ist Null oder kein Objekt
raus.
Könntest Du mir Laien da helfen?
Vielen Dank nochmal!
Bosco
Hallo Bosco,
Du kannst deine Textbox mittels DOM ganz einfach ansprechen:
document.getElementById("txtClock").value = "5 Sekunden";
statt den "5 Sekunden" gibst du dann halt deine Ausgabevariable an.
mfg,
DanielHallo und danke Daniel!
Was JavaScript betriff bin ich kein Profi. Ich habe gemäß Deines Vorschlages
document.getElementById("txtClock").value = ""+h+":"+m+":"+s+"";
ins Script gesetzt, leider kommt die Fehlermeldung:
document.getElementById(...) ist Null oder kein Objekt
raus.
Könntest Du mir Laien da helfen?
Vielen Dank nochmal!
Bosco
Hallo Bosco,
Diesen Fehler bekommst du deswegen, weil du die Javascript Funktion vorher aufrufst, bevor du überhaupt das Html Objekt <input> instanzierst.Du musst ganz einfach zuerst das Html Objekt erzeugen, und erst DANN kannst du mit Javascript darauf zugreifen.
Wo nichts ist, da kann man auch nichts verändern :)
Hier ist dein vollständiger Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script language="JScript">
<!--
var countdown = "18000";
function doCount()
{
if (countdown > 0)
{
countdown--;
}
else
{
document.location = "seite.htm";
}
var s = countdown;
var h = Math.floor(s/3600);
var m = Math.floor((s - (h * 3600))/60);
s = (s-(h*3600))%60
document.getElementById("txtClock").value = ""+h+":"+m+":"+s+"";
setTimeout('doCount()',1000)
}
//-->
</script>
<title>hallo</title>
</head>
<body>
<INPUT TYPE="Text" size="30" ID="txtClock" value="Zeit" readonly>
<script language="JScript">
doCount();
</script>
</body>
</html>
Grüsse,
Daniel