• ベストアンサー

javascriptで入力フォームに日付(和暦)を入力して西暦表示にする方法と曜日を表示させる方法を教えて下さい。

凄く悩んでいるのですが、良かったら教えてください。 入力フォームに 日付 平成16年07月28日なら 『160728』 と入力し、そのすぐ横に 曜日を『(月)』と表示させたい のですが、どうもうまくいきません。 教えてください。 以前教えていただいた西暦「20040728」 と入力したら、(水)と出たのですが、 和暦入力の場合でわからなくて、困っています。 テキストフォームに(月)と表示させたいのでは なく、<span>タグを使用して作成したいのです。 また、和暦を『160728』入力したら、 表示先には、西暦「20040728」と表示させる には、どうしたらいいでしょうか? ご伝授お願いします。

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

  • ベストアンサー
回答No.2

以前の回答のjavascriptを少し変更しただけですけど。#1の方がおっしゃる通り、1988をたしてみました。これだと平成しか対応してませんが。 <HTML><BODY> <INPUT TYPE="TEXT" VALUE="" onKeyUp="if(this.value.length == 6) document.all['spnDay'].innerHTML = getDay(this.value);"><SPAN ID="spnDay"></SPAN> <SCRIPT> var STR_DAY = new Array("日", "月", "火", "水", "木", "金", "土"); var i; function getDay( yymmdd ) { var year = yymmdd.substring(0, 2) -(-1988); var month = yymmdd.substring(2, 4) -1; var date = yymmdd.substring(4, 6); var month2 = yymmdd.substring(2,4); var yyyymmdd = year + month2 + date; var dateValue = new Date(); dateValue.setFullYear(year, month, date); return STR_DAY[dateValue.getDay()]+yyyymmdd; } </SCRIPT> </BODY></HTML>

sara555
質問者

お礼

回答有難うございます。 ソースまで書いていただいて、バッチリ できました。ありがとうございます。

その他の回答 (1)

  • yuki_77
  • ベストアンサー率12% (1/8)
回答No.1

安易ですが、インプットされた値を読みこむファンクションの中で和暦を西暦に変更しては如何でしょうか? 平成だったら入力された値に1988を足してみる等。 ただしこの場合は入力される元号が必ず「平成」と決まっているか、もしくは元号を選択するラジオボタンのようなものが別個必要になりそうですね。

sara555
質問者

お礼

回答有難うございます。 ヒントをいただいて、足せばいいんですね。 このヒント役にたちました。