protocalendar.js v1.1.8.1 を公開しました。
今回のリリースは 1.1.8 の不具合修正1点のみです。
【不具合修正】
*日付選択時にページの最上部までスクロールされてしまう不具合を修正しました。
【使い方はこちら】
http://labs.spookies.jp/demo/protocalendar/sample/calendar_usage.html
【プロダクト概要とダウンロードはこちら】
http://labs.spookies.jp/product/protocalendar
不具合に関してはなるべく早く修正版を公開できるように努めておりますので、安心してご利用頂ければと思います。
また、Demo のページだけでは利用方法がわかりづらいという声もあり、今後は利用マニュアルも充実させていこうと考えています。

スプーキーズラボブログは株式会社スプーキーズの技術関連の情報を発信するブログです。プロダクト一覧、お問い合わせなどはスプーキーズラボのサイトをご覧ください。
バグ報告はコメントか、お問い合わせからお願いします。
設置サポートは有料でのみ受け付けています。その場合も、お問い合わせからお願いします。
9月 26th, 2008 at 2:36 PM
はじめまして。
protocalendarで、valueの値を参照し、カレンダーの選択されている年月日をその値にする事は可能でしょうか?
[2008/09/26]と入っていた場合、2008年 9月 26日が最初から選択されているイメージです。
ご返信宜しくお願い致します。
あと、このような素晴らしいプログラムを公開してくださりありがとうございます!!
9月 30th, 2008 at 9:56 AM
>>tols さん
ありがとうございます。
protocalendar はデフォルトでそのような動作になっています。
http://labs.spookies.jp/demo/protocalendar/sample/calendar_usage.html
の Japanese Calendar でご確認下さい。
デフォルト(英語)は 09/30/2008 のようなフォーマットがデフォルトです。
10月 2nd, 2008 at 4:58 PM
はじめまして。
protocalendar.jsを有り難く使わせていただいております。
非常に使いやすくとても良いライブラリですね。
一つ質問があるのですが、
2008/09/50というありえない日付を入力するとカレンダー上で
2008/10/20が選択されてしまいます。
入力不可文字(abc等)を入力したときと同様に
チェックで弾くなどの仕様は今後対応する予定はございますでしょうか。
以上ご検討の程宜しくお願い致します。
10月 6th, 2008 at 5:31 PM
>>sideroadさん
ありがとうございます!
JavaScript のでの日時バリデーションについては、開発当初に結構議論したのですが、
特定のビジネスロジックに依存する形になる可能性があることと、
それも含め複雑になりすぎることを考慮して、今のところ実装しない方針です。
拡張ポイントのような箇所に自由に記述する形での導入は考えていますが、
どちらにしても(現状では) protocalendar.js が自動で何かするということはないと思います。
ということで、今のところバリデーションについてはサーバーサイドで行っていただく方針です。
時間入力についても、かなりバリデーションについては検討したのですが、
時間については“時間として解釈できない場合のみエラーを出す”という方針となり、今の形に落ち着いています。
10月 8th, 2008 at 1:23 PM
>>kasakariさん
ご回答有難うございます。
バリデーションにつきましては
Object.extendにより独自に追加することにします。
また、ソース自体(書き方等)とても参考になる内容なので
勉強させていただきます。
10月 15th, 2008 at 10:41 AM
はじめまして、こんにちは
protocalendar、大変便利なライブラリを公開して頂きましてありがとうございます。
MinDateとMaxDateの仕様ことで質問があります。
指定した日付の1ヶ月後が、実際に使われる
(たとえばMinDateに(1985,1,1)を指定すると、1985/2/1が指定できる一番小さな日付)
ようですが、これはなにか理由があるのでしょうか?
デモのページでも、そのような動作になっているので、仕様のようですが、
http://labs.spookies.jp/demo/protocalendar/sample/calendar_usage.html
あまり直観的でない気がしたので、質問させて頂きました。
10月 15th, 2008 at 11:15 AM
>>sideroad さん
ありがとうございます。
次回バージョンアップ時にはバリデーション記述のための、
拡張ポイントを用意しようと思います。
>>redgasuki さん
はじめまして。
これは単純に JavaScript の Date オブジェクトの仕様に合わせているということです。
http://www.tohoho-web.com/js/date.htm
(上記ページで確認してもらうとわかるとおり、月は0から開始となります)
そういう意味では 1985,1,1 をサンプルに載せているのが直感的ではないのかもしれませんね…。
10月 15th, 2008 at 11:42 AM
kusakari さん、こんにちは
あ~確かに、そうですね。
思慮が足りませんでした。
素早いご回答ありがとうございます。
10月 22nd, 2008 at 2:50 PM
はじめまして。
protocalendar.jsを使用させて頂いてます。
わかりましたら教えて頂きたいのですが当方でカレンダーを
表示してリストボックスか矢印ボタンで月を変更する度に
カレンダーの画面の位置が上下に動いてしまいます。
何か原因などはありますでしょうか?
10月 22nd, 2008 at 3:10 PM
>>katakorikeiさん
おそらく、1.1.8
http://labs.spookies.co.jp/2008/09/18/protocalendar-js-1-1-8-release/
の機能追加によるものだと思います。ifInvisible: ‘None’ のオプションを追加すればなくなると思いますが、以前も同様の現象の方がおられましたので、不具合であれば本体を修正したいと考えております。
kusakari[アットマーク]spookies.co.jp までできるだけシンプルな例を添付してメール頂けないでしょうか。
お手数ですがよろしくお願い致します。
10月 22nd, 2008 at 3:56 PM
ご回答有難う御座います。
教えて頂いた通り、「ifInvisible: ‘None’」で
正常に動作いたしました。
有難う御座います。
11月 4th, 2008 at 9:38 AM
はじめまして。protocalendar.jsを使わせていただいております。
今回はprotocalendar.jsについて1つ質問があり、書き込みさせていただきました。
コンボボックスによる日付の指定(デモページのSelect Calendar(Date))において、コンボボックス+リセットボタン(によるボタン)があるとします。
このとき、コンボボックスで日付を指定すると、protocalendar.jsもコンボボックスの日付が適応されて表示されます。
ここでリセットボタンを押すと、コンボボックスは初期値に戻るのですが、protocalendar.jsは前回コンボボックスで指定した日付のままとなってしまいます。
これを回避する方法(一緒に初期値に戻す方法)というのはあるのでしょうか?
もしありましたら、ご教授願えたらなと思います。
お手数おかけいたしますが、何とぞよろしくお願いいたします。
12月 5th, 2008 at 12:18 AM
たいへん便利なものを公開していただきありがとうございます。
1つ質問をさせてください。
年月日のセレクトボックスと対応させて実装をしています。
月と日が以下のように0で始まる場合うまく連動しないようですが(11,12のように0から始まらないものは連動します)どのように対応すればいいか教えていただけますでしょうか?
01
02
03
よろしくお願いいたします。
1月 13th, 2009 at 4:18 PM
はじめまして。
protocalendar.jsを利用させて頂いております。
利用する上で問題が上がってきたので一つご質問させて下さい。
ページ内で読み込んだカレンダーの設定を、
(ページの再ロードせず)もう一度別の値で再設定をしたい場合は、
どのようにすればよいものでしょうか?
例えば、
デフォルトでの表示を『yyyy年mm月dd日』と設定してある時に、
ユーザが選択した『mm月dd日』の表示形式に設定変更し直す。
お手数かと存じますが、どうぞよろしくお願い致します。
1月 19th, 2009 at 11:19 AM
遅レスですいません。
>>sakiさん
InputCalendar の例になってしまいますが、以下のようにして、
Calendar インスタンスを保持しつつ、再評価メソッドを呼び出すことで、実現可能です。
(省略)
<input type=”button” value=”reset” onclick=”document.forms[0].reset();cal.onInputChange();”/>
<script type=”text/javascript”>
cal = new InputCalendar(‘test_cal’);
</script>
1月 19th, 2009 at 11:36 AM
>>Junさん
現時点では、仕様上サポートしていないのですが、
とりあえずは selectOption を書き換えて対応頂くのがてっとり早いと思います。
次のバージョンアップで何らかの形で対応できるように検討致します。
1月 19th, 2009 at 11:48 AM
>>kayaさん
ダイナミックにフォーマットを変更する場合、以下のURLのカスタマイズ方法と組み合わせて、
http://labs.spookies.co.jp/2008/07/10/protocalenderjs-handling-change-input-value/
以下のようにして実現できます。
Object.extend(
InputCalendar.prototype,
{
changeInputValue: function() {
var fmt = new ProtoCalendar.DateFormat(‘mm月dd日’);
this.input.value = fmt.format(this.calendarController.getSelectedDate(), this.options.lang);
}
});
ユーザーがボタンを押したときのみ、などの場合は
cal = new InputCalendar(’test_cal’);
のようにして、カレンダーのインスタンス変数を残しておくようにして対応して下さい。