Aaalso! Erst mal Hallo an alle!
Ich habe ein ziemlich dummes, wahrscheinlich für erfahrene Menschen einfaches (?) Problem. Da ich so gut wie keine Ahnung von JavaScript habe, da ich es persönlich nicht leiden kann, es aber leider von mir, für eine ziemlich doofe Aufgabe, verlangt wird, stecke ich vermutlich, dank meines Widerwillens fest.
Nun zur Aufgabe an sich: Ich soll ein Formular machen, indem man ein Datum ausspuckt bekommt je nach dem was man im Drop Down Menü ausgesucht hat. Und noch weitere 5 Monate danach sollen auch angezeigt werden. Man soll gewisse Termine einfärben und jetzt kommt mein Problem:
Es soll auf der selben Seite unter dem Formular angezeigt werden.
Und bevor jemand mit schau bei google nach kommt -> hätte wahrscheinlich eine Lösung gefunden, wenn nicht auf fast jeder Seite genau das steht...
Die einzige Information die ich in den 3 Tagen rumsumpern finden konnte ist statt dem document.write innerHtml oder appendChild zu verwenden, aber wo schreibe ich das hin? Ich sehe irgendwie keine parallelen zu den Befehlen, was natürlich auch an meiner Verzweiflung liegen kann.
Na jedenfalls geht es ansatzweise. Soll heißen, es steht schon mal was unten, aber beim klicken führt es selbstverständlich die document.writes aus und zwar im neuen Fenster. Ich hoffe es ist verständlich was ich meine und verbeuge mich vor jeden der Ahnung von JavaScript hat, weil das echt mühseelig ist.
HTML - TEIL (html.html)
JavaScript - Teil (kalender.js)Code:<html> <head> <title>Kalender</title> <link rel="stylesheet" type="text/css" href="css/style.css" /> <script type="text/javascript" src="js/kalender.js"> </script> </head> <body onload="self.focus();"> <h1>Testkalender</h1> <p>Bitte wählen Sie den gewünschten <strong>Startmonat</strong>,<br /> sowie das <strong>Anzeigejahr</strong> des Kalenders, <br /> wählen Sie dann <strong>Kalender aufrufen</strong> für Ihr Ergebnis.</p> <form> <table border="0" align="center" cellpadding="2"> <tr> <td> Buchungsjahr: </td> <td width="14"> </td> <td width="124"> <select name="Jahr" id="Jahr" size="1"> <option value ="2011">2011</option> <option value ="2012">2012</option> </select> </td> </tr> <tr> <td> Buchungsmonat:</td> <td> </td> <td> <select name="Monat" id="Monat" size="1"> <option value ="1">Januar</option> <option value ="2">Februar</option> <option value ="3">März</option> <option value ="4">April</option> <option value ="5">Mai</option> <option value ="6">Juni</option> <option value ="7">Juli</option> <option value ="8">August</option> <option value ="9">September</option> <option value ="10">Oktober</option> <option value ="11">November</option> <option value ="12">Dezember</option> </select> </td> </tr> <tr> <td>Hier klicken -> </td> <td> </td> <td><input type="button" name="Kalender(Monat,Jahr)" value="Kalender aufrufen" onClick="Kalender(); return true"/> </td> </tr> <tr> <td class="gruen"> Frei </td> <td> </td> <td> </td> </tr> <tr> <td class="rot"> Belegt </td> <td> </td> <td> </td> </tr> </table> </form> <div> <script language="JavaScript"> document.all.meinAbsatz.innerHTML = kalender(); </script> </div> </body> </html>
Code:var d = new Date(); var dm = d.getMonth() + 1; var dj = d.getYear(); if (dj < 999) dj += 1900; Kalender(dm, dj); function Kalender () { Jahr = document.getElementById('Jahr').value; Monat = document.getElementById('Monat').value; Monatsname = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); Tag = new Array("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"); // Schriftart Kalenderkopf var KSchrArt = "Tahoma"; // Schriftgroesse Kalenderkopf var KSchrGroesse = 3; // Schriftfarbe Kalenderkopf var KSchrFarbe = "#ffffff"; // Schriftart Tagesanzeige var TSchrArt = "Tahoma"; // Schriftgroesse Tagesanzeige var TSchrGroesse = 3; // Schriftfarbe Tagesanzeige var TSchrFarbe = "#000000"; // Hintergrundfarbe Tagesanzeige var Thgrund = "#ffffff"; // Hintergrundfarbe f. heutigen Tag var Ahgrund = "#FFFF00"; //Schirftfarbe für den Termin var Termin = "#E00000"; //Schirftfarbe für den Termin //SCHLEIFE for (m=0 ; m <= 5 ; m++) { var jetzt = new Date(); var DieserMonat = jetzt.getMonth() + 1; var DiesesJahr = jetzt.getYear(); if (DiesesJahr < 999) { DiesesJahr += 1900; } var DieserTag = jetzt.getDate(); var Zeit = new Date(Jahr, Monat - 1, 1); var Start = Zeit.getDay(); if (Start > 0) { Start--; } else { Start = 6; } var Stop = 31; if (Monat == 4 || Monat == 6 || Monat == 9 || Monat == 11) --Stop; if (Monat == 2) Stop = Stop - 3; if (Jahr % 4 == 0) Stop++; if (Jahr % 100 == 0) Stop--; if (Jahr % 400 == 0) Stop++; //Beginn der TABELLE document.write('<table border="0" cellpadding="1em" cellspacing="1em" align="center">'); var Monatskopf = Monatsname[Monat - 1] + " " + Jahr; if (Monat==13) { Monat=1 Jahr++ Monatskopf = Monatsname[Monat - 1] + " " + Jahr; } SchreibeKopf(Monatskopf, KSchrFarbe, KSchrGroesse, KSchrArt); var Tageszahl = 1; for (var i = 0; i <= 5; i++) { document.write("<tr>"); for (var j = 0; j <= 6; j++) { if ((i == 0) && (j < Start)) { SchreibeZelle(" ", Thgrund, TSchrFarbe, TSchrGroesse, TSchrArt); } else { if (Tageszahl > Stop) { SchreibeZelle(" ", Thgrund, TSchrFarbe, TSchrGroesse, TSchrArt); } else { if ((Jahr == DiesesJahr) && (Monat == DieserMonat) && (Tageszahl == DieserTag)) { SchreibeZelle(Tageszahl, Ahgrund, TSchrFarbe, TSchrGroesse, TSchrArt); } else if ((Jahr == 2011) && (Monat == 1) && ((Tageszahl >= 3) && Tageszahl<=20)) { SchreibeZelle(Tageszahl, Thgrund, Termin, TSchrGroesse, TSchrArt); } else { SchreibeZelle(Tageszahl, Thgrund, TSchrFarbe, TSchrGroesse, TSchrArt); } Tageszahl++; } } } document.write("<\/tr>"); } document.write("<\/table>"); Monat ++; function SchreibeKopf (Monatstitel, HgFarbe, SchrFarbe, SchrGroesse, SchrArt) { document.write("<tr>"); document.write('<td align="center" colspan="7" valign="middle" bgcolor="' + HgFarbe + '">'); document.write('<font size="' + SchrGroesse + '" color="' + SchrFarbe + '" face="' + SchrArt + '"><b>'); document.write(Monatstitel); document.write("<\/b><\/font><\/td><\/tr>"); document.write("<tr>"); Tag = new Array("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"); for (var i = 0; i <= 6; i++) SchreibeZelle(Tag[i], HgFarbe, SchrFarbe, SchrGroesse, SchrArt); document.write("<\/tr>"); } function SchreibeZelle (Inhalt, HgFarbe, SchrFarbe, SchrGroesse, SchrArt) { document.write('<td align="center" valign="middle" bgcolor="' + HgFarbe + '">'); document.write('<font size="' + SchrGroesse + '" color="' + SchrFarbe + '" face="' + SchrArt + '"><b>'); document.write(Inhalt); document.write("<\/b><\/font><\/td>"); } } }
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)