年月日が入力されたら自動的に曜日を表示する(onChange)


動作ブラウザ 【 IE:4.0   NN:4.5
Internet Explorer Netscape Navigator Firefox Opera iCab Safari
3.0x 4.0x 4.5 5.0x 5.5 6.0 2.0x 3.0x 4.0x 4.x 6.0 7.0 8.0 1.0 7.x 8.x 2.x 1.x 2.x
Windows × - × × × -
Macintosh × - × × × - ×
UNIX - - - - - × × × - -

ポイント dObj = new Date(); dObj.setFullYear(aY); dObj.setMonth(aM - 1); dObj.setDate(aD); result = "日月火水木金土".charAt(dObj.getDay())+"曜日";
説  明 年月日が入力されたら曜日を自動的に表示するにはonChangeを利用します。テキストフィールドの内容が変更された際に、Dateオブジェクトを作成します。入力された年月日をsetFullYear, setMonth, setDateでDateオブジェクトに設定します。この後にgetDayで曜日の番号を読み出せば指定年月日の曜日を得ることができます。
サンプル <html> <head> <title>日付を入れると自動的に曜日を表示する</title> <script type="text/javascript"><!-- function getDayInfo(fObj) { aY = parseInt(fObj.aYear.value); aM = parseInt(fObj.aMonth.value); aD = fObj.aDate.value; result = ""; numStr = "0123456789"; if ( ((aY >= 1970) && (aY < 2200)) && ((aM > 0) && (aM < 13)) && ((aD > 0) && (aD < 32)) ) { dObj = new Date(); dObj.setFullYear(aY); dObj.setMonth(aM - 1); dObj.setDate(aD); result = "日月火水木金土".charAt(dObj.getDay())+"曜日"; } fObj.aDay.value = result; } // --></script> </head> <body> <form> 西暦<input type="text" name="aYear" size="5" value="" onChange="getDayInfo(this.form)">年 <input type="text" name="aMonth" size="3" value="" onChange="getDayInfo(this.form)">月 <input type="text" name="aDate" size="3" value="" onChange="getDayInfo(this.form)">日 <input type="text" name="aDay" size="7" value=""> </form> </body> </html>
補足説明 iCabでは曜日が文字化けします。

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA