Hallo!
Ich habe ein Script das mir 3 Felder ausgibt wo ich Tag Monat und Jahr auswählen kann. (wobei immer die richtigen Tage pro Monat stehen)
Wenn ich jetzt aber in dem Formular nocheinmal die 3 gleichen Felder einfüge ( Weil ich Anfangs und Enddatum eingeben möchte) funktioniert es bei denen nicht.
Was muss ich da ändern?
Ich habe folgendes Script:
Ich habe ein Script das mir 3 Felder ausgibt wo ich Tag Monat und Jahr auswählen kann. (wobei immer die richtigen Tage pro Monat stehen)
Wenn ich jetzt aber in dem Formular nocheinmal die 3 gleichen Felder einfüge ( Weil ich Anfangs und Enddatum eingeben möchte) funktioniert es bei denen nicht.
Was muss ich da ändern?
Ich habe folgendes Script:
Code:
[php] <html> <head> <title>JavaScript</title> </head> <!-- Damit die Datumsauswahl mit dem aktuellen Datum versehen wird, brauchen Sie drei Teile: das Script, einen erweiterten Body-Tag und ein modifiziertes Formular. //--> <SCRIPT language="JavaScript"> //set todays date Now = new Date(); NowDay = Now.getDate(); NowMonth = Now.getMonth(); NowYear = Now.getYear(); if (NowYear < 2000) NowYear += 1900; //for Netscape //function for returning how many days there are in a month including leap years function DaysInMonth(WhichMonth, WhichYear) { var DaysInMonth = 31; if (WhichMonth == "Apr" || WhichMonth == "Jun" || WhichMonth == "Sep" || WhichMonth == "Nov") DaysInMonth = 30; if (WhichMonth == "Feb" && (WhichYear/4) != Math.floor(WhichYear/4)) DaysInMonth = 28; if (WhichMonth == "Feb" && (WhichYear/4) == Math.floor(WhichYear/4)) DaysInMonth = 29; return DaysInMonth; } //function to change the available days in a months function ChangeOptionDays(Which) { DaysObject = eval("document.Form1." + Which + "Day"); MonthObject = eval("document.Form1." + Which + "Month"); YearObject = eval("document.Form1." + Which + "Year"); Month = MonthObject[MonthObject.selectedIndex].text; Year = YearObject[YearObject.selectedIndex].text; DaysForThisSelection = DaysInMonth(Month, Year); CurrentDaysInSelection = DaysObject.length; if (CurrentDaysInSelection > DaysForThisSelection) { for (i=0; i<(CurrentDaysInSelection-DaysForThisSelection); i++) { DaysObject.options[DaysObject.options.length - 1] = null } } if (DaysForThisSelection > CurrentDaysInSelection) { for (i=0; i<(DaysForThisSelection-CurrentDaysInSelection); i++) { NewOption = new Option(DaysObject.options.length + 1); DaysObject.add(NewOption); } } if (DaysObject.selectedIndex < 0) DaysObject.selectedIndex == 0; } //function to set options to today function SetToToday(Which) { DaysObject = eval("document.Form1." + Which + "Day"); MonthObject = eval("document.Form1." + Which + "Month"); YearObject = eval("document.Form1." + Which + "Year"); YearObject[0].selected = true; MonthObject[NowMonth].selected = true; ChangeOptionDays(Which); DaysObject[NowDay-1].selected = true; } //function to write option years plus x function WriteYearOptions(YearsAhead) { line = ""; for (i=0; i<YearsAhead; i++) { line += "<OPTION>"; line += NowYear + i; } return line; } </SCRIPT> <!-- Damit das Script das aktuelle Datum einstellt, müssen Sie den den Body- Tag der Web-Seite um den Parameter onload="SetToToday('FirstSelect');" erweitern. //--> <BODY onload="SetToToday('FirstSelect');" bgcolor="cccc99"><br><br> <div align="center"> <h3>Datumsauswahl</h3> <br> <p>Die einfachste Möglichkeit ein Datum per Formular abzufragen, ist die Vorgabe von Tag, Monat und Jahr in einem Menü.</p> <p>Noch bequemer wird's, wenn Sie per Script zugleich das aktuelle Datum vorgeben.</p> <br> <!-- Das unten stehende Formular enthält alle Modifikationen, damit einen <p> Datumsauswahl angezeigt und mit dem aktuellen Datum versehen wird. <P> Am besten kopieren Sie das komplette Formular inklusive der beiden Form-<p> Tags in Ihre Homepage. Selbstverständlich können Sie anschließend weitere Formularfelder einfügen. //--> <FORM name="Form1"> <SELECT name="FirstSelectDay"> <OPTION>1<OPTION>2<OPTION>3 <OPTION>4<OPTION>5<OPTION>6 <OPTION>7<OPTION>8<OPTION>9<OPTION>10 <OPTION>11<OPTION>12<OPTION>13<OPTION>14 <OPTION>15<OPTION>16<OPTION>17<OPTION>18 <OPTION>19<OPTION>20<OPTION>21<OPTION>22 <OPTION>23<OPTION>24<OPTION>25<OPTION>26 <OPTION>27<OPTION>28<OPTION>29<OPTION>30 <OPTION>31 </SELECT> <SELECT name="FirstSelectMonth" onchange="ChangeOptionDays('FirstSelect')"> <OPTION>Jan<OPTION>Feb <OPTION>Mar<OPTION>Apr <OPTION>May<OPTION>Jun <OPTION>Jul<OPTION>Aug <OPTION>Sep<OPTION>Oct <OPTION>Nov<OPTION>Dec </SELECT> <SELECT name="FirstSelectYear" onchange="ChangeOptionDays('FirstSelect')"> <OPTION>2001<OPTION>2002<OPTION>2003<OPTION>2004 <OPTION>2005<OPTION>2006<OPTION>2007<OPTION>2008 <OPTION>2009<OPTION>2010<OPTION>2011<OPTION>2012 <OPTION>2013<OPTION>2014<OPTION>2015<OPTION>2016 <OPTION>2017<OPTION>2018<OPTION>2019<OPTION>2020 </SELECT> </FORM> </div> </body> </html>[/php]
EDIT:
TobiaZ: Umget
Kommentar