Promaetheus
Mitglied
Ich habe mir ein kleines Script erstellt welches mir Tag, Monat und Jahr als Dropdown ausgibt. Mittels Javascript wird geprüft und auch gleich ausgebessert wieviele Tage der ausgewählte Monat hat, bzw. haben darf. Mittels PHP wird das aktuelle Jahr und zusätzlich 5 weitere als Dropdown angeboten.
Ich weiss, es gibt bereits fertige Kalender, jedoch wollte ich selbst so eine Lösung erstellen. Soweit so gut. Bis jetzt hat das gut funktioniert, da ich das als Veranstaltungsdatum verwendet habe. Nun soll das Ganze aber um ein weiteres Datum, nämlich Enddatum ergänzt werden. Das Problem ist, dass ich für diese 2. Datumsfelder eigene ID´s benötige.
Eine Lösung wäre jetzt, das Javascript einfach zu kopieren und umzuändern, was ich persönlich jedoch sehr unschön fände. Gibt es hierzu vielleicht eine andere Lösung? Ich wäre Euch für Tipps diesbezüglich sehr dankbar.
Anbei mein erstelltest Script als Testseite (test.php hier als HTML formatiert, da nur ein geringer Teil davon PHP ist):
Ich weiss, es gibt bereits fertige Kalender, jedoch wollte ich selbst so eine Lösung erstellen. Soweit so gut. Bis jetzt hat das gut funktioniert, da ich das als Veranstaltungsdatum verwendet habe. Nun soll das Ganze aber um ein weiteres Datum, nämlich Enddatum ergänzt werden. Das Problem ist, dass ich für diese 2. Datumsfelder eigene ID´s benötige.
Eine Lösung wäre jetzt, das Javascript einfach zu kopieren und umzuändern, was ich persönlich jedoch sehr unschön fände. Gibt es hierzu vielleicht eine andere Lösung? Ich wäre Euch für Tipps diesbezüglich sehr dankbar.
Anbei mein erstelltest Script als Testseite (test.php hier als HTML formatiert, da nur ein geringer Teil davon PHP ist):
HTML:
<html>
<head>
<script language="JavaScript">
<!--
function getDays() {
var day = document.getElementById("day").value;
var month = document.getElementById("month").value;
var year = document.getElementById("year").value;
var februaryDays = 28;
if((year%4 == 0 && year%100 !=0) || year%400 == 0) {
var februaryDays = 29;
}
var days = new Array(31, februaryDays, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
document.getElementById("day").options.length = days[month-1];
for(i = 0; i < days[month-1]; i++) {
document.getElementById("day").options[i].innerHTML = i+1;
document.getElementById("day").options[i].value = i+1;
}
}
//-->
</script>
</head>
<body>
<select name="day" id="day" onchange="getDays();">
<?php
for($i=1; $i<32; $i++) {
echo '<option value="'.$i.'">'.$i.'</option>';
}
?>
</select>
<select name="month" id="month" onchange="getDays();">
<?php
$months = array(1 => "Januar",
2 => "Februar",
3 => "März",
4 => "April",
5 => "Mai",
6 => "Juni",
7 => "Juli",
8 => "August",
9 => "September",
10 => "Oktober",
11 => "November",
12 => "Dezember");
foreach($months as $key => $value) {
echo '<option value="'.$key.'">'.$value.'</option>';
}
?>
</select>
<select name="year" id="year" onchange="getDays();">
<?php
for($i=0; $i<5; $i++) {
$value = date('Y') + $i;
echo '<option value="'.$value.'">'.$value.'</option>';
}
?>
</select>
</body>
</html>