tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
221
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von weedo
    weedo weedo ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    179
    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 weedo
     
    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.

  2. #2
    Avatar von weedo
    weedo weedo ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    179
    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 = "&nbsp;";
        n = 7;
        var end = "go!";
        for(j = 1; j <= 9; j++) {
          k++;
          if((j == anfangstag) && (l < 32)) {
            l++;
            if(m == "&nbsp;") {
              m = 0;
            }
          }
          if(l > 0) {
            if(m < 31) {
              m++;
            } else {
              j = 9;
              l = 0;
              m = "&nbsp;";
            }
          }
          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.

  3. #3
    Avatar von weedo
    weedo weedo ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    179
    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 = "&nbsp;";
              n = 7;
              endtagp1 = endtag + 1;
              var end = "go!";
              for(j = 1; j <= 9; j++) {
                k++;
                if((j == anfangstag) && (l < endtagp1)) {
                  l++;
                  if(m == "&nbsp;") {
                    m = 0;
                  }
                }
                if(l > 0) {
                  if(m < endtag) {
                    m++;
                  } else {
                    j = 9;
                    l = 0;
                    m = "&nbsp;";
                  }
                }
                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.

  4. #4
    Avatar von weedo
    weedo weedo ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    179
    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 = "&nbsp;";
              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 == "&nbsp;") {
                    m = 0;
                  }
                }
                if(l > 0) {
                  if(m < endtag) {
                    m++;
                  } else {
                    m = "&nbsp;";
                    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.

  5. #5
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    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.

  6. #6
    Avatar von weedo
    weedo weedo ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    179
    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

  1. .de und .com wechseln
    Von LeMarkus im Forum PHP
    Antworten: 4
    Letzter Beitrag: 22.10.10, 09:27
  2. Von If zu Else wechseln
    Von Flex im Forum PHP
    Antworten: 2
    Letzter Beitrag: 14.07.07, 03:44
  3. Mov wechseln!
    Von Maximilian im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 29.03.07, 21:44
  4. Von AOL zu 1&1 wechseln
    Von Liamderprogger im Forum Internet, DSL & Flatrate
    Antworten: 15
    Letzter Beitrag: 25.08.05, 18:55
  5. Hintergrundfarbe wechseln
    Von Devotional im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 11.06.04, 22:49