• ベストアンサー

javascriptで入力フォームに日付を書いて曜日を表示させたい

凄く悩んでいるのですが、良かったら教えてください。 入力フォームに 日付 『20040712』 と入力したら、そのすぐ横に 配列から検索して、『(月)』と表示させたい のですが、どうもうまくいきません。 教えてください。 テキストフォームに(月)と表示させたいのでは なく、<span>タグを使用して作成したいのです。 ご伝授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • coral0
  • ベストアンサー率92% (13/14)
回答No.1

曜日の取得方法ですが、「Date」クラスの中に「getDay()」と言う曜日を取得することの出来る便利なメソッドが存在します。 このメソッドでは、日~土までの文字列が返ってくるわけではなく、0~6までの数値が返されます。 0は日曜日、1は月曜日と言う風に各々の数値に曜日が割り当てられています。 つまり、配列で0[日],1[月],・・・,6[土]と言う風に保持しておけば、曜日を表示させることが可能になるのです。 言葉でずらずらと説明しただけでは判り辛いと思いますので、実例を書いておきたいと思います。 尚、説明は長くなる為、一切書かないので、ご了承ください。 <HTML><BODY> <INPUT TYPE="TEXT" VALUE="" onKeyUp="if(this.value.length == 8) document.all['spnDay'].innerHTML = getDay(this.value);"><SPAN ID="spnDay"></SPAN> <SCRIPT> var STR_DAY = new Array("日", "月", "火", "水", "木", "金", "土"); function getDay( yyyymmdd ) { var year = yyyymmdd.substring(0, 4); var month = yyyymmdd.substring(4, 6) - 1; var date = yyyymmdd.substring(6, 8); var dateValue = new Date(); dateValue.setFullYear(year, month, date); return STR_DAY[dateValue.getDay()]; } </SCRIPT> </BODY></HTML>

sara555
質問者

お礼

回答有難うございます。 勉強になりました。 ソースまで書いていただいて、 早速実現できる事ができました。 有難うございます。