人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javascript カレンダー
http://www.kawa.net/works/js/jkl/calender.html
で日付入力は 2012/06/15 という形式ですが、
2012年6月15日(金) という形式にしていただきたいです。
多分コードをいじらないといけないと思います。
ずうずうしいお願いですが、やっていただけたら幸いです。
よろしくお願い致します。

●質問者: dy201
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Cherenkov
ベストアンサー

これでどうでしょう。表示部分しか確認していないのでおかしいところがあるかも。
ちゃんとテストしてください。
shift_jisで保存。

// フォーム入力欄に指定した値を書き込む

JKL.Calendar.prototype.setFormValue = function (ymd) {
 if ( ! ymd ) ymd = this.getDateYMD(); // 無指定時はオブジェクトから?
 var form1 = this.getFormElement();
 if ( form1 ) form1.value = ymd.replace(/(\d+)\/0?(\d+)\/0?(\d+)/, function(e, y, m, d) {
 var day = ["日","月","火","水","木","金","土"][new Date(e).getDay()];
 return y + '年' + m + '月' + d + '日' + '(' + day + ')';
});
};

a-kuma3さんのコメント
カレンダーを表示するときに、JKL.Calendar.write() から、JKL.Calendar.getFormElement() が呼ばれているので、そっちも変えてあげなきゃ駄目だと思う。 こんな感じかな。なんか、判定を入れた方が良いのかな… >|javascript| // テキスト入力欄の値を返す(ついでにオブジェクトも更新する) JKL.Calendar.prototype.getFormValue = function () { var form1 = this.getFormElement(); if ( ! form1 ) return ""; var date1 = this.setDateYMD( form1.value.replace(/(\d+)年(\d+)月(\d+)日.*/, "$1/$2/$3") ); return date1; }; ||<

Cherenkovさんのコメント
ありがとうございます。 getFormValue()も変えないと選択した日付のハイライトがされませんでしたね。 でもちゃんと動いていないような。

Cherenkovさんのコメント
あきらめてjQueryUIにするとか。dateFormat, regionalオプションを設定すればできそう。 [http://jqueryui.com/demos/datepicker/:title=jQuery UI - Datepicker Demos & Documentation]

a-kuma3さんのコメント
>> でもちゃんと動いていないような。 << ちゃんと動いてないのは、ぼくのコードです? 雰囲気だけで書いてしまいました (^^;

dy201さんのコメント
やっていただいて、ありがとうございました!無事目的どおり表示されました。本当にうれしいです!作者さんのページで紹介させていただければと思います。本当にありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ