Anzeige aktuelles Jahr in PullDown
irisschulz
- javascript
0 wahsaga0 Gerhard Feil
Hallo zusammen,
ich möchte in einem Formular das aktuelle Datum per JavaScript automatisch in einem PullDown ausgeben.
Bei Tag und Monat funktioniert das auch ...
Bloß beim Jahr gehts nicht. Kann mir einer von euch sagen, woran das liegt ?
--------
<SCRIPT LANGUAGE="JavaScript">
<!--
function DropDown() {
var jetzt = new Date()
var tag = jetzt.getDate()
var monat = jetzt.getMonth()
var jahr = jetzt.getYear()
document.form.monat.selectedIndex=(monat);
document.form.jahr.selectedIndex=(jahr);
document.form.tag.selectedIndex=(tag-1);
}
//-->
</script>
..........
<body ONLOAD="DropDown()">
<FORM NAME=form>
<SELECT NAME="monat" SIZE="1"><OPTION VALUE="1">Jan</OPTION>
<OPTION VALUE="2">Feb</OPTION>
<OPTION VALUE="3">Mrz</OPTION>
<OPTION VALUE="4">Apr</OPTION>
<OPTION VALUE="5">Mai</OPTION>
<OPTION VALUE="6">Jun</OPTION>
<OPTION VALUE="7">Jul</OPTION>
<OPTION VALUE="8">Aug</OPTION>
<OPTION VALUE="9">Sept</OPTION>
<OPTION VALUE="10">Okt</OPTION>
<OPTION VALUE="11">Nov</OPTION>
<OPTION VALUE="12">Dez</OPTION>
</SELECT>
<SELECT NAME="tag" SIZE="1"><OPTION VALUE="01">1</OPTION>
<OPTION VALUE="02">2</OPTION>
<OPTION VALUE="03">3</OPTION>
<OPTION VALUE="04">4</OPTION>
<OPTION VALUE="05">5</OPTION>
<OPTION VALUE="06">6</OPTION>
<OPTION VALUE="07">7</OPTION>
<OPTION VALUE="08">8</OPTION>
<OPTION VALUE="09">9</OPTION>
<OPTION VALUE="10">10</OPTION>
<OPTION VALUE="11">11</OPTION>
<OPTION VALUE="12">12</OPTION>
<OPTION VALUE="13">13</OPTION>
<OPTION VALUE="14">14</OPTION>
<OPTION VALUE="15">15</OPTION>
<OPTION VALUE="16">16</OPTION>
<OPTION VALUE="17">17</OPTION>
<OPTION VALUE="18">18</OPTION>
<OPTION VALUE="19">19</OPTION>
<OPTION VALUE="20">20</OPTION>
<OPTION VALUE="21">21</OPTION>
<OPTION VALUE="22">22</OPTION>
<OPTION VALUE="23">23</OPTION>
<OPTION VALUE="24">24</OPTION>
<OPTION VALUE="25">25</OPTION>
<OPTION VALUE="26">26</OPTION>
<OPTION VALUE="27">27</OPTION>
<OPTION VALUE="28">28</OPTION>
<OPTION VALUE="29">29</OPTION>
<OPTION VALUE="30">30</OPTION>
<OPTION VALUE="31">31</OPTION>
</SELECT>
<SELECT NAME="jahr" SIZE="1">
<OPTION VALUE="2001">2001</OPTION>
<OPTION VALUE="2002">2002</OPTION>
<OPTION VALUE="2003">2003</OPTION>
<OPTION VALUE="2004">2004</OPTION>
<OPTION VALUE="2005">2005</OPTION>
</SELECT>
-------------
Danke und Gruß
Iris
hi,
var jahr = jetzt.getYear()
document.form.jahr.selectedIndex=(jahr);
<SELECT NAME="jahr" SIZE="1">
<OPTION VALUE="2003">2003</OPTION>
selfhtml schreibt zur methode getYear() des date-objekte:
"Manche Browser geben die Jahreszahl noch zweistellig aus."
hast du überprüft, ob dies für deinen browser eventuell zutrifft?
gruss,
wahsaga
Hallo,
wenn ich per documet.write die Variable "Jahr" ausgebe, dann erhalte ich als Ausgabe "2003". Ich denke, dann müßte die Ausgabe doch 4stellig sein oder?
Gruß
Iris
Hallo Iris,
Mit selected Index sprichst du die sounsovielte Stelle eines Arrays an.
Zufällig klappt das bei Tag und Monat, weil du dort bei 1 mit dem aufzählen anfängst.
Bei der Jahreszahl würde es auch klappen, wenn du mit der Option 0001 anfängst und 2005 Optionen schreibst ;-)
leichter wäre es, wenn du die Zeile:
document.form.jahr.selectedIndex=(jahr);
abänderst in:
document.form.jahr.selectedIndex=(jahr-2001);
und im Select "Jahr" nur die letzten zwei Stellen angibst
also statt:
<SELECT NAME="jahr" SIZE="1">
<OPTION VALUE="2001">2001</OPTION>
<OPTION VALUE="2002">2002</OPTION>
<OPTION VALUE="2003">2003</OPTION>
<OPTION VALUE="2004">2004</OPTION>
<OPTION VALUE="2005">2005</OPTION>
</SELECT>
schreibst du dort nur:
<SELECT NAME="jahr" SIZE="1">
<OPTION VALUE="01">2001</OPTION>
<OPTION VALUE="02">2002</OPTION>
<OPTION VALUE="03">2003</OPTION>
<OPTION VALUE="04">2004</OPTION>
<OPTION VALUE="05">2005</OPTION>
</SELECT>
LG
Gegge
DANKE :-)
Funktioniert jetzt wuuuunderbar!
Gruß
Iris