Date funktioniert nicht mit Variablen
DaniSahne
- javascript
Hallo Leute ich habe folgendes Programm:
Es stehen in zwei Dropdownlisten die Angaben für Monat und Jahr.
Wählt man nun in einer Liste einen Wert, werden beide Werte ermittelt:
var calmonth = bxbcalmonth.options[bxbcalmonth.selectedIndex].value;
var calyear = bxbcalyear.options[bxbcalyear.selectedIndex].value;
Nun sollen diese Werte an ein DateObjekt (mit dem Tag 1) übergeben werden:
var jetzt = new Date(calyear, calmonth, 1);
Hier ein kleines Testprogramm, das den Tag zu dem Monat und Jahr ausgeben soll:
var TagInWoche = jetzt.getDay();
var Wochentag = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
"Donnerstag", "Freitag", "Samstag");
document.write('<table border bgcolor="#CCFFFF"><tr><td><b>' +
Wochentag[TagInWoche] + "<\/b><\/td><\/tr><\/table>");
Also die Funktion sieht so aus:
var calmonth = bxbcalmonth.options[bxbcalmonth.selectedIndex].value;
var calyear = bxbcalyear.options[bxbcalyear.selectedIndex].value;
var jetzt = new Date(calyear, calmonth, 1);
var TagInWoche = jetzt.getDay();
var Wochentag = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
"Donnerstag", "Freitag", "Samstag");
document.write('<table border bgcolor="#CCFFFF"><tr><td><b>' +
Wochentag[TagInWoche] + "<\/b><\/td><\/tr><\/table>");
Es kommt aber immer "undefined" raus - gebe ich hingegen die Werte Hardcoded mit z.b.
var jetzt = new Date(2009, 1, 1);
funktioniert es.
Mache ich da irgendwas falsch oder muß ich das convertieren?
Achja - noch die Auswahlfelder:
<select id=bxbcalmonth onload="chgcal();" onchange="chgcal();"><option value=1>Jan</option><option value=2>Feb</option></select>
<select id=bxbcalyear onload="chgcal();" onchange="chgcal();"><option value=2008>2008</option><option value=2009>2009</option><option value=2010>2010</option></select>
Ups, ich habe den Fehler gerade selbst gefunden - ich habe
var jetzt = new Date(calyear, calmonth, 1);
so geschrieben:
var jetzt = new Date(bxbcalyear, bxbcalmonth, 1);
Moin!
Es kommt aber immer "undefined" raus - gebe ich hingegen die Werte Hardcoded mit z.b.
var jetzt = new Date(2009, 1, 1);
funktioniert es.
Denkst du dran, dass dieses Beispiel das Datum 1. FEBRUAR 2009 erzeugt?
- Sven Rautenberg