Archief - HTML: Problemen met javascript: endless loop...

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Cybah

Legacy Member
Wat ik dus wil bereiken:
In de array KermisData staan de locaties waar we staan met de kermis.
De datum wordt gecheckt en er moet worden gezocht waar we staan of waar we binnenkort staan.

Mijn probleem: als de huidige datum 8-3 (8 maart) is dan geeft hij Wervik weer, maar als de het script moet zoeken achter de plaats waar we binnenkort staan dan blijft hij eindloos doorloopen doordat KermisData[dag] door 1 of andere reden undefined blijft alhoewel.

Weet iemand waar ik verkeerd bezig ben. Heb geen ervaring met javascript maar ik denk dat ik al goed ver ben geraakt :crazy:.

Ik heb slechts een klein stukje van de KermisData array gepost anders ging het wss iets te veel zijn.
Code:
var datum = new Date();
var dag = datum.getDate();
var maand = datum.getMonth()+1;

KermisData= new Array();

if (maand == 3){
KermisData[8]= "Wervik";
KermisData[9]= "Wervik";
KermisData[10]= "Wervik";
KermisData[11]= "Wervik";
KermisData[12]= "Wervik";
KermisData[13]= "Wervik";
KermisData[14]= "Wervik";
KermisData[15]= "Wervik";
KermisData[16]= "Wervik";
KermisData[17]= "Kortrijk (paasfoor)";
KermisData[18]= "Kortrijk (paasfoor)";
KermisData[19]= "Kortrijk (paasfoor)";
KermisData[20]= "Kortrijk (paasfoor)";
KermisData[21]= "Kortrijk (paasfoor)";
KermisData[22]= "Kortrijk (paasfoor)";
KermisData[23]= "Kortrijk (paasfoor)";
KermisData[24]= "Kortrijk (paasfoor)";
KermisData[25]= "Kortrijk (paasfoor)";
KermisData[26]= "Kortrijk (paasfoor)";
KermisData[27]= "Kortrijk (paasfoor)";
KermisData[28]= "Kortrijk (paasfoor)";
KermisData[29]= "Kortrijk (paasfoor)";
KermisData[30]= "Kortrijk (paasfoor)";
KermisData[31]= "Kortrijk (paasfoor)";
}

if (typeof KermisData[dag]==='undefined') { 

  MaxMaand= new Array("","31","29","31","30","31","30","31","31","30","31","30","31");

  for (var dagen = 0; typeof KermisData[dag]==='undefined'; dagen++) { 

// Debug   
    document.write(KermisData[dag]+" ");
    document.write(dagen+" "+dag+"-"+maand+"<br>");
  
    var dag = dag+1;

    if (dag > MaxMaand[maand]) {
      var maand = maand++;
      var dag = 1;
    }

    if (maand > 12) {
      var maand = 1;
    }
  }

  if (dagen == 1) {
    document.write("We staan morgen in "+KermisData[dag]);
  }
  else {
    document.write("We staan binnen "+dagen+" dagen in "+KermisData[dag]+" op"+dag+"-"+maand);
  }
}

else {
  document.write("We staan vandaag in "+KermisData[dag]);
}

passero

Legacy Member
verander deze lijn:
for (var dagen = 0; typeof KermisData[dag]==='undefined'; dagen++)

naar
for(var dagen =0; KermisData.length-1;dagen++)


Waarom doe je dit per javascript? Dit kan je toch perfect serverside afhandelen? Waarschijnlijk zitten die data in een databank, dan is het toch beter om het via een query te doen in plaats van zo een script?

Cybah

Legacy Member
Bedankt voor je reactie maar het heeft niet geholpen. Ik ben dan maar eens herbegonnen met de fout te zoeken. Ik wou het gwn te moeilijk maken...

Oplossing:
if (maand == 3){ weggelaten, data in array aangepast naar de volledige datum ipv enkel de dag KermisData["8-3"]= "Wervik"; en het opvragen aangepast KermisData[dag+"-"+maand]

En om op je vragen te beantwoorden:
1. tot voor kort stond al deze data enkel in een boekje
2. ik gebruik een telenet server die dus geen serverside scripting ondersteund (php e.d.)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan