eric: Counter mit Fehler getElementbyId()

Mein Kollege hat Probleme bei folgendem Javascript.

Es funzt, doch gibt der Firefox immer folgende Fehlermeldung aus

Warnung: Die nicht standardgemäße Eigenschaft document.all wurde verwendet. Verwenden Sie stattdessen den W3C-Standard document.getElementById().
Quelldatei: http://www.rdeppermann.de/ioff/sv/counter/countdown.js
Zeile: 19

Wie muss er es anpassen, aufgerufen wird es durch folgenden HTML Code

<body onLoad="startTimer()">
<script language="JavaScript" src="countdown.js"></script>
<table class=black align="center" border="0">
    <tr>
   <td align=center colspan="3">
         <p id="event"></p>
      </td>

</tr>
 </table>
</body>

  1. nAbend, (<= begrüßung)

    anstattt mit document.all sollst du mit document.getElementById darauf zugreifen.
    halt so wie es in der fehlerbeschreibung beschrieben wird.
    zu ändern hast du das in deiner countdown.js-datei.

    feurio

    --
    Marinus, Marinus, hoerst du mich?
    Marinus, Marinus, du warst es nicht!
    1. halt so wie es in der fehlerbeschreibung beschrieben wird.
      zu ändern hast du das in deiner countdown.js-datei.

      Das ist klar, aber er sagt dass es danach nicht mehr funktioniert

      var dates=new Array();
      var events=new Array();
      var current;

      dates[0]=new Date("nov 13, 2004 16:45:00");
      events[0]="<table>.....</table>";

      function selectDate()
      {
       now=new Date()
       for (i=0;i<dates.length;i++)
       {
        if (now.getTime()<dates[i].getTime())
        {
         current=dates[i];
         // document.all.event.innerHTML=events[i];
            document.getElementById("events[i]")
         return;
        }
       }
      }

      function startTimer()
      {
       selectDate();
       timeRemaining();
      }

      function timeRemaining()
      {
       now = new Date();
       var secsLeft = Math.floor((current.getTime()-now.getTime())/1000);
       if (secsLeft<0)
       {
        startTimer();
       }
       else
       {
        daysLeft = Math.floor(secsLeft / 86400);
        secsLeft %= 86400;
        hoursLeft = Math.floor(secsLeft / 3600);
        secsLeft %= 3600;
        minsLeft = Math.floor(secsLeft / 60);
        secsLeft %= 60;

      document.all.left.innerHTML=daysLeft+"Tage "+hoursLeft+"h "+minsLeft+"min "+secsLeft+"s";

      if(daysLeft<1)
        {
         document.all.left.innerHTML=hoursLeft+"h "+minsLeft+"min "+secsLeft+"s";
        }

      if(hoursLeft<1)
        {
         document.all.left.innerHTML=minsLeft+"min "+secsLeft+"s";
        }

      if(minsLeft<1)
        {
         document.all.left.innerHTML=secsLeft+"s";
        }
         setTimeout("timeRemaining()", 800);
       }
      }

      Frage nur bei ihm, wie das bei den Sekunden/Minuten/Stunden geht!!!

      1. Hallo eric.

        Das ist klar, aber er sagt dass es danach nicht mehr funktioniert
        function selectDate()
        [...]
           // document.all.event.innerHTML=events[i];
              document.getElementById("events[i]")

        Du willst ein Element ansprechen, das _welche_ ID hat? In deinem Ursprungscode hatte der Absatz die id "event", nicht "events[i]", das soll doch der einzufügende HTML-Code sein, oder?

        Freundschaft!
        Siechfred

        --
        Hinweis an alle Karnevalsmuffel: Aschermittwoch ist alles vorbei.
        1. Hallo eric.

          Das ist klar, aber er sagt dass es danach nicht mehr funktioniert
          function selectDate()
          [...]
             // document.all.event.innerHTML=events[i];
                document.getElementById("events[i]")

          Du willst ein Element ansprechen, das _welche_ ID hat? In deinem Ursprungscode hatte der Absatz die id "event", nicht "events[i]", das soll doch der einzufügende HTML-Code sein, oder?

          Freundschaft!
          Siechfred

          Yep, das sollte er sein!
          Kannste mal den Code komplett posten, ich checks irgendwie gerde auch ned!

  2. Hi,

    Es funzt, doch gibt der Firefox immer folgende Fehlermeldung aus

    Warnung: Die nicht standardgemäße Eigenschaft document.all wurde verwendet. Verwenden Sie stattdessen den W3C-Standard document.getElementById().

    gefällt mir außerordentlich diese Fehlermeldung :-)

    Wie muss er es anpassen, aufgerufen wird es durch folgenden HTML Code

    Du postest hier den irrelevanten HTML-Code, wo Du mit Sicherheit selbst feststellen kannst, daß nirgends 'document.all' steht.

    freundliche Grüße
    Ingo