ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
221
221
EMPFEHLEN
-
Hi,
ich bin gerade an einem Kalender dran und verzweifele gerade.
Wie kann ich den Wochentag des ersten im Monat herausfinden, wenn ich weiß das ich den Monat September habe und das jahr 2007?
Lg weedoDas Kennzeichen eines unreifen Menschen ist,
dass er nobel für eine Sache sterben will,
während der reife Mensch nobel für eine Sache lebt.
-
Gut ich habe es selber rausbekommen...War zwar etwas umständlich aber so geh ich wenigstens sicher, dass keiner mehr druchblickt und mir meinen Code nicht ohne weiteres klauen kann

Die Frage, die ich mir stelle ist: Gibt es eine geschicktere Variante den Letzten eines Monats rauszubekommen, als die monate in Arrays zu packen?
lg weedo
p.s.: Anbei mein code
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
<script type="text/javascript"> Array.prototype.count = function() { return this.length; }; var today = new Date(); function writeTable(elm, type) { if(!elm ) { monat = today.getMonth(); jahr = today.getFullYear(); } else { switch(type) { case "monat": today.setMonth(elm); monat = today.getMonth(); jahr = today.getFullYear(); break; case "jahr": today.setFullYear(elm); jahr = today.getFullYear(); monat = today.getMonth(); break; } } var datum = today.getDate(); var tag = today.getDay(); today.setDate(1); var anfangstag = today.getDay(); tage = ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"]; monate = ["Januar","Februar","Maerz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]; var output = '<select name="monat" onchange="writeTable(this.value, \'monat\')">'; for(i = 0; i < monate.count(); i++) { if(i == monat) { var selecter = "selected"; } else { var selecter = ""; } output = output + "<option " + selecter + " value=" + i + ">" + monate[i] + "</option>"; } output = output + "</select>"; var selecter = ""; var Jahrx = jahr +5; var xJahr = jahr - 5; output = output + '<select name="jahr" onchange="writeTable(this.value, \'jahr\')">'; for(x = xJahr; x <= Jahrx; x++) { if(x == jahr) { var selecter = "selected"; } else { var selecter = ""; } output = output + "<option " + selecter + " value=" + x + ">" + x + "</option>"; } output = output + "</select><br /><table border=1><tr><td colspan=\"7\" align=\"center\">" + monate[monat] + " " + jahr +"</td></tr><tr>"; for(t = 0; t <= 6; t++) { output = output + "<td style=\"width:25px\" align=\"center\">" + tage[t] + "</td>"; } output = output + "</tr><tr>"; if(anfangstag == 0) { anfangstag = 7; } k = 1; l = 0; m = " "; n = 7; var end = "go!"; for(j = 1; j <= 9; j++) { k++; if((j == anfangstag) && (l < 32)) { l++; if(m == " ") { m = 0; } } if(l > 0) { if(m < 31) { m++; } else { j = 9; l = 0; m = " "; } } output = output + "<td>" + m + "</td>"; if(j == n) { j = 1; output = output + "</tr><tr>"; n = 8; } if(k == 43) { j = 9; } } output = output + "</tr></table>"; document.write(output); } </script> <body onload="writeTable(10, 'monat');">Das Kennzeichen eines unreifen Menschen ist,
dass er nobel für eine Sache sterben will,
während der reife Mensch nobel für eine Sache lebt.
-
Ok, auch das habe ich nach längerem Grübeln gelöst

Jetzt habe ich nurnoch ein Problem, was ich seit anfang an habe und bis jetzt noch nichts gefunden habe, warum sich das nicht reparieren lässt.
Wenn ich einen Monat oder ein Jahr auswähle, bekomme ich den Fehler Fehler: updateTable is not defined
Zeile: 1
Woran kann das liegen? Hier nochmal mein Code
HTML-Code:<html> <head> <title>Kalender</title> <script type="text/javascript"> <!-- Array.prototype.count = function() { return this.length; }; var today = new Date(); function writeTable(month, year) { if(!month ) { monat = today.getMonth(); jahr = today.getFullYear(); } else { today.setMonth(month); monat = today.getMonth(); today.setFullYear(year); jahr = today.getFullYear(); } var datum = today.getDate(); var tag = today.getDay(); today.setDate(1); var anfangstag = today.getDay(); tage = ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"]; monate = ["Januar","Februar","Maerz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]; var output = '<select name="monat" id="monat" onchange="updateTable()">'; for(i = 0; i < monate.count(); i++) { if(i == monat) { var selecter = "selected"; } else { var selecter = ""; } output = output + "<option " + selecter + " value=" + i + ">" + monate[i] + "</option>"; } output = output + "</select>"; var selecter = ""; var Jahrx = jahr +5; var xJahr = jahr - 5; output = output + '<select name="jahr" id="monat" onchange="updateTable()">'; for(x = xJahr; x <= Jahrx; x++) { if(x == jahr) { var selecter = "selected"; } else { var selecter = ""; } output = output + "<option " + selecter + " value=" + x + ">" + x + "</option>"; } output = output + "</select><br /><table border=1><tr><td colspan=\"7\" align=\"center\">" + monate[monat] + " " + jahr +"</td></tr><tr>"; for(t = 0; t <= 6; t++) { output = output + "<td style=\"width:25px\" align=\"center\">" + tage[t] + "</td>"; } output = output + "</tr><tr>"; if(anfangstag == 0) { anfangstag = 7; } var endtag = 0; if((monat == 0) || (monat == 2) || (monat == 4) || (monat == 6) || (monat == 7) || (monat == 9) || (monat == 11)) { endtag = 31 } if((monat == 3) || (monat == 5) || (monat == 8) || (monat == 10)) { endtag = 30 } if(monat == 2) { if( jahr % 4 == 0 && ( jahr % 100 != 0 || jahr % 400 == 0)) { endtag = 29 } else { endtag = 28 } } k = 1; l = 0; m = " "; n = 7; endtagp1 = endtag + 1; var end = "go!"; for(j = 1; j <= 9; j++) { k++; if((j == anfangstag) && (l < endtagp1)) { l++; if(m == " ") { m = 0; } } if(l > 0) { if(m < endtag) { m++; } else { j = 9; l = 0; m = " "; } } output = output + "<td>" + m + "</td>"; if(j == n) { j = 1; output = output + "</tr><tr>"; n = 8; } if(k == 43) { j = 9; } } output = output + "</tr></table>"; document.write(output); } function updateTable() { if(document.all) { monatid = document.getElementById("monat"); jahrid = document.getElementById("jahr"); } else { monatid = monat; jahrid = jahr; } month = document.monatid.value; year = ducument.jahrid.value; writeTable(month, year); } --> </script> </head> <body onload="writeTable();"> </body> </html>
Geändert von weedo (25.11.09 um 20:08 Uhr)
Das Kennzeichen eines unreifen Menschen ist,
dass er nobel für eine Sache sterben will,
während der reife Mensch nobel für eine Sache lebt.
-
Nunja...Nach langem rumprobieren und selber fehler suchen habe ich das Script soweit fertig bekommen, wie ich mir das vorgestellt habe.
Auf http://www.cr-promotion.ch/neueu/fluppdiwupp.html findet ihr das fertige Script. Hier nochmal der Code. Für Fragen stehe ich jederzeit hier im Thread zur verfügung. Auch Pm ist erwünscht.
Lg weedo
HTML-Code:<html> <head> <title>Kalender</title> <script type="text/javascript"> Array.prototype.count = function() { return this.length; } function updateTable() { for (i = 0; i < document.Auswahl.jahr.length; ++i) { if (document.Auswahl.jahr.options[i].selected == true) year = document.Auswahl.jahr.options[i].value; } for (i = 0; i < document.Auswahl.monat.length; ++i) { if (document.Auswahl.monat.options[i].selected == true) month = document.Auswahl.monat.options[i].value; } writeTable(month, year); } var today = new Date(); function writeTable(month, year) { if(!month ) { monat = today.getMonth(); heutemonat = monat; jahr = today.getFullYear(); heutejahr = jahr; } else { var heutemonat = today.getMonth(); today.setMonth(month); monat = today.getMonth(); var heutejahr = today.getFullYear(); today.setFullYear(year); jahr = today.getFullYear(); } var datum = today.getDate(); var tag = today.getDay(); today.setDate(1); var anfangstag = today.getDay(); tage = ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"]; monate = ["Januar","Februar","Maerz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]; var output = '<form name="Auswahl"><select name="monat" id="monat" onchange="updateTable()" style="width:136px;">'; for(i = 0; i < monate.count(); i++) { if(i == monat) { var selecter = "selected"; } else { var selecter = ""; } output = output + "<option " + selecter + " value=" + i + ">" + monate[i] + "</option>"; } output = output + "</select>"; var selecter = ""; var Jahrx = jahr +5; var xJahr = jahr - 5; output = output + '<select name="jahr" id="jahr" onchange="updateTable()">'; for(x = xJahr; x <= Jahrx; x++) { if(x == jahr) { var selecter = "selected"; } else { var selecter = ""; } output = output + "<option " + selecter + " value=" + x + ">" + x + "</option>"; } output = output + "</select><br /><table style=\"border: 1px solid #999999\" cellspacing=\"0\" cellpadding=\"0\"><tr><td colspan=\"7\" align=\"center\" style=\"border: 1px solid #999999; background-color: #0379C2; color: #FFFFFF; font-weight: bold;\" >" + monate[monat] + " " + jahr +"</td></tr><tr>"; for(t = 0; t <= 6; t++) { output = output + "<td style=\"width:25px; border: 1px solid #999999\" align=\"center\">" + tage[t] + "</td>"; } output = output + "</tr><tr>"; if(anfangstag == 0) { anfangstag = 7; } var endtag = 0; if((monat == 0) || (monat == 2) || (monat == 4) || (monat == 6) || (monat == 7) || (monat == 9) || (monat == 11)) { endtag = 31 } if((monat == 3) || (monat == 5) || (monat == 8) || (monat == 10)) { endtag = 30 } if(monat == 1) { if( jahr % 4 == 0 && ( jahr % 100 != 0 || jahr % 400 == 0)) { endtag = 29 } else { endtag = 28 } } k = 1; l = 0; m = " "; n = 7; o = 0; h = 6; endtagp1 = endtag + 1; var end = "go!"; for(j = 1; j <= 9; j++) { k++; if((j == anfangstag) && (l < endtagp1) && (o != 1)) { l++; if(m == " ") { m = 0; } } if(l > 0) { if(m < endtag) { m++; } else { m = " "; o = 1; } } if((o == 1) && (j == 9)) { output = output + "</tr>"; } else { if((j == h) || (j == 8)) { h = 7; feiertagclr = "#FF0000"; } else { feiertagclr = "#000000"; } if((datum == m)&& (heutemonat == monat) && (heutejahr == jahr)){ todayclr = "#CACACA"; } else { todayclr = "#FFFFFF"; } output = output + "<td align=center style=\"border: 1px solid #999999; background-color: " + todayclr + "; color: " + feiertagclr + "\" >" + m + "</td>"; } if((j == n) && (o != 1)){ j = 1; output = output + "</tr><tr>"; n = 8; } if(k == 43) { j = 9; } } output = output + "</tr></table></form>"; document.body.innerHTML = output; } </script> <style> table { font-family: Tahoma, Verdana, Sans-Serif; text-decoration: none; font-weight: normal; font-size: 12px; } select { border: 1px solid #999999; } </style> </head> <body onload="writeTable();"> </body> </html>
Das Kennzeichen eines unreifen Menschen ist,
dass er nobel für eine Sache sterben will,
während der reife Mensch nobel für eine Sache lebt.
-
25.11.09 23:17 #5
- Registriert seit
- May 2007
- Ort
- Dresden (Sachsen)
- Beiträge
- 1.960
Da gibt es aber auch schon das hier: jQuery UI Datepicker
Ich mag:- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
-
Ja sicherlich gibt es schon massig scripte. Aber ich bastel mir sowas immer gerne selbst. Dann ist es genau nach meiner Vorstellung und ich weiß wie ich was zu verändern habe und das Ergebniss so aussehen zu lassen, wie ich mir das vorstelle.
Das Kennzeichen eines unreifen Menschen ist,
dass er nobel für eine Sache sterben will,
während der reife Mensch nobel für eine Sache lebt.
Ähnliche Themen
-
.de und .com wechseln
Von LeMarkus im Forum PHPAntworten: 4Letzter Beitrag: 22.10.10, 09:27 -
Von If zu Else wechseln
Von Flex im Forum PHPAntworten: 2Letzter Beitrag: 14.07.07, 03:44 -
Mov wechseln!
Von Maximilian im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 29.03.07, 21:44 -
Von AOL zu 1&1 wechseln
Von Liamderprogger im Forum Internet, DSL & FlatrateAntworten: 15Letzter Beitrag: 25.08.05, 18:55 -
Hintergrundfarbe wechseln
Von Devotional im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 11.06.04, 22:49





Zitieren

Login





