JavaScriptで現在の日付をリストボックスに設定するには?
[上に]
[前に]
[次に]
るみ
1999/07/14(水) 12:30:45
過去のラウンジログを参考にさせていただいて、
こういうものをつくりましたが、
<FORM method=post action="day.cgi" name="form2">
<SELECT NAME="toyear">
<OPTION VALUE="1999">99
<OPTION VALUE="2000">00
<OPTION VALUE="2001">01
</SELECT>
年
<SELECT NAME="tomon">
<OPTION VALUE="1">1
<OPTION VALUE="2">2
(途中省略)
<OPTION VALUE="11">11
<OPTION VALUE="12">12
</SELECT>
月
<SELECT NAME="today">
<OPTION VALUE="1">1
(途中省略)
<OPTION VALUE="31">31
</SELECT>
日まで
</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!--
dd = new Date();
year = dd.getYear();
year = (year > 100) ? year : year + 1900;
mon = dd.getMonth() + 1;
date = dd.getDate();
document.form2.toyear.selectedIndex = year;
document.form2.tomon.selectedIndex = mon;
document.form2.today.selectedIndex = date;
// -->
</SCRIPT>
月と日はちゃんと表示されるのに、
年だけが表示されません。
どこかおかしい所があったらご指摘ください。
宜しくお願いします。
ちなみに(途中省略)しているのは月と日だけで、
年のソースはこのままです。
OSは WindowsNT Server4.0、
ブラウザはIE4.0、NN3.03、NN4.04で確かめましたが
どれも結果は同じでした。
無責任官庁
1999/07/14(水) 12:48:01
ちょっとした勘違いのようですね。
selectIndex は、“何番目の要素か”です。
月と日は1から始まってるから問題ないですが、
年は違いますよね?
<OPTION>を1から2000行ぐらい書いたら意味的には合いますけど、
まあ、これをちょっとの修正で直す場合は・・・
--これより上のソースは省略--
year = dd.getYear();
year = (year > 100) ? year: year + 1900;
mon = dd.getMonth() + 1;
date = dd.getDate();
year = year - 1998; //これを追加
document.form2.toyear.selectedIndex = year;
--以下省略--
ってな具合でしょうか。
るみ
1999/07/14(水) 12:50:52
[[解決]]
無責任官庁さん、ばっちり解決しましたよ!
本当にありがとうございました!(^O^)
[上に]
[前に]
[次に]