Bosco: Übergabe des Countdowns an eine Textbox

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

  1. 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

    1. 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

      1. 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,

        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