【費用】 とりあえず、言い値で承ります。ただし、できる範囲での限定受付です。込み具合等によりお受けできない場合がありますのであらかじめご了承ください。サポートにご納得いただけなければ料金は不要です。 逆に感動したら多くても構いません(^^;;;。
【できること】 たとえば、かも日記で無料配布されているコードのカスタマイズや、あるいは、JavaScript/Ajax全般+Webサーバーとの連携などのアドバイス&サンプル作成等 。A:jQchartなどでWeb用グラフ設置(エクセル→CSVやデータベースからWebグラフ生成)などのアドバイスやカスタマイズサンプル作成。B:ツリーメニューなどのカスタマイズサンプル。C:Google Mapsのカスタマイズ。etc...
【できないこと】 腕立て伏せ200回
【ライセンス】 私が今まで「かも日記」等で提供してきたコードの大半は、商用利用、改造、自由、連絡不要で、今後もそれらは変わりません。そして、この有料サポートによりカスタマイズコードなどが提供される場合でも、同様に、それらを商用利用しても改造しても自由です。ただし、制限のきついライブラリなどを使う場合は、各ライブラリのライセンスに準拠せざるを得ない場合があります。
【info】いつもいろいろなテストなどをページ内のあちこちでやっているので、重かったり、壊れていたりするf^^;ことも多いですが、何卒、ご了承ください ( _ _ b
Calendar Plugin for jQuery 1.2.1 (2007-11-16-1)
http://jsgt.org/lib/jquery/plugin/calendar/20071116-1.htm
日付タイプdatetypeというより日付テンプレートな機能なので、属性名をdatetmpにしてみました。まぁ、細かいことですけどf^^;
<input class="jquery-calendear" type="text" datetmp="YYYY/MM/DD" /> <input class="jquery-calendear" type="text" /> <input class="jquery-calendear" type="text" datetmp="YYYY年M月のD日はW曜日" style="width:180px" /> <input class="jquery-calendear" type="text" datetmp="YYYY-MM-DD【W】" />
Calendar Plugin for jQuery 1.2.1 (nightly)
http://jsgt.org/lib/jquery/plugin/calendar/nightly.htm
Calendar Plugin for jQuery 1.2.1 (2007-11-14-1-1)
http://jsgt.org/lib/jquery/plugin/calendar/20071114-1-1.htm
話の流れ的に、<input class="jquery-calendear" type="text" datetype="YYYY/MM/DD">も試してみました。
これが、簡単ぽい(笑)。一応、どれも、Sfari3,2、IE6,7、Firefox2、Oprea8,9で動作します。
最初のHTMLコメントを利用する(1)は、仕様を気にする必要が少なそうですが、圧縮をかけたときに、あっさり削除される危険があります(^^;ので、 (2)か、この(3)のどちらかかなぁ。こういう時HTML実装は自由で良いなぁ(笑)。しかも、これは多くのブラウザ(たぶん)で使えます。つまり、多くの利用者を排除せず、便宜を提供します。うんうん。<JavaScriptな時点で、、、<手入力を排除してないということで。
<input class="jquery-calendear" type="text" datetype="YYYY/MM/DD"> <input class="jquery-calendear" type="text"> <input class="jquery-calendear" type="text" datetype="YY年MM月DD日"> <input class="jquery-calendear" type="text" datetype="YYYY-MM-DD(W)">取得方法はこれです。
$(INPUT要素).attr("datetype");
Calendar Plugin for jQuery 1.2.1 (2007-11-14-1-0)
http://jsgt.org/lib/jquery/plugin/calendar/20071114-1-0.htm
ふと、<hoge value="YYYY/MM/DD" />も試してみたら使えてしまいました。
どっちにしたらよいかなぁ、、、。
こうです。
<input class="jquery-calendear" type="text"><jquery value="YYYY/MM/DD" /> <input class="jquery-calendear" type="text"> <input class="jquery-calendear" type="text"><jquery value="YY年MM月DD日" /> <input class="jquery-calendear" type="text"><jquery value="YYYY-MM-DD(W)" />取得方法です。
$(INPUT要素).nextSibling.getAttribute("value")
Calendar Plugin for jQuery 1.2.1 (2007-11-14-1)
http://jsgt.org/lib/jquery/plugin/calendar/20071114-1.htm
先日の
2007-11-12-1 日付フォーマットの指定方法
に引き続き、実際のコードの書き方を考えてみました。旧版はINPUT要素のインラインにonclickイベントを書いてそこに書いた関数の引数で渡しましたが、今度は(できればJSとHTMLを切り離したいので)インラインのonclickイベントをなるべく使いたくありません。
でも、INPUT要素にこれといった使えそうな属性もなさそうです。たとえば、titleは目的が違いますし、
value値に書くのも...ですし(^^; 、別途、hidden要素を作るのも冗長な気がしますし、
それより送信時などに副作用が出るのはまずいです。
で、どう書くか?
こうです。
<input class="jquery-calendear" type="text"><!--YYYY/MM/DD--> <input class="jquery-calendear" type="text"> <input class="jquery-calendear" type="text"><!--YY年MM月DD日--> <input class="jquery-calendear" type="text"><!--YYYY-MM-DD(W)-->ポイントは、INPUT要素の直後にスペースも改行も入れずに、たとえば、<!--YYYY/MM/DD-->と書きます。クオート「"」や「'」も使いません。
$(INPUT要素).nextSibling.nodeValue
var ex= jQuery.extend({calendar:{date:{...でコピーした分がすべてjQueryオブジェクト直下に露出して行儀が悪いのでとりあえず jQuery.extend($.fn.calendar,{date:{...でfn.calendar 配下へ放り込んでおきました。$.fn内に露出していた分iniとdrawも整理。
Calendar Plugin for jQuery 1.2.1 (2007-11-13-1)
http://jsgt.org/lib/jquery/plugin/calendar/20071113-1.htm
こうなりました。
jQuery.extend({test:1}) //$.test or jQuery.test
と書くと、プロパティ test は、jQueryオブジェクトまたは$ショートカット直下にコピーされて
$.test または jQuery.test となります。ただ、これでは、$直下が散らかるので、
jQuery.extend($.fn.calendar,{test:1}) //$.calendar.fn.test or jQuery.fn.calendar.test
という風に$.fn.calendarへコピーすることでcalendarの下にすべてのメンバをまとめてみたということです。とはいえ、calendarという名前は一般的すぎないか?という点は、時間があれば、、、。
ああ、var ex= jQuery.extend({calendar:{date:{...でコピーした分がやはり、行儀が悪いかなぁ、、、。すべて fnへ閉じ込めるべき?
あと、jQuery自体がグローバルへ露出しているのは、$とjQueryだけなんですけれど、$.fnへいろいろなプラグインを流し込めば、それが衝突することはあると思うので、将来のために少し気を遣う必要もある?ない?
Calendar Plugin for jQuery 1.2.1 (2007-11-12-2-e)
http://jsgt.org/lib/jquery/plugin/calendar/20071112-e.htm
<input class="jquery-calendear" type="text"> <input class="jquery-calendear" type="text"> <div id='jquery-calendar-box'></div>
Calendar Plugin for jQuery 1.2.1 (2007-11-12-2)
http://jsgt.org/lib/jquery/plugin/calendar/20071112-2.htm
まだ、起動メソッドの書式などを決めていませんがf^^;、とりあえず、デフォルト設定で良ければ、クラス指定 <input class="jquery-calendear" type="text"> だけで、jsに触らずに使えるようにしてみました。
<style> .testclass2 { color:red } </style>
<input class="jquery-calendear" type="text">
<input class="jquery-calendear" type="text">
<input class="jquery-calendear testclass2" type="text">
とりあえずカレンダープラグインがあるので中身を見てみるといいかも。
http://jquery.com/plugins/project/calendar-jquery
あ、この人、たぶん、英語外の人ですね。私と同じで、navigator.language.substr(0,2)とnavigator.userLanguage;を最初に検査してます(^^;
でも、同じカレンダーでも作る人によって立ち位置も力点も違って面白いです。
名前の件でみると、Elementをあえて(?)グローバルに置いているのが少し気になります。これだとせっかくjQueryでprototypeとのコンフリクトを回避してもこれが衝突してしまうような。なんとなく、もったいない。
ところで、この言語分岐が、
lng['en'] = {
month : ['January', 'February', 'March', 'April', 'May', 'June', 'July'
, 'August', 'September', 'October', 'November', 'December'],
day : ['S','M','T','W','T','F','S'],
first: 0 // Sunday
};
lng['es'] = {
month : ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto'
,'Septiembre','Octubre','Noviembre','Diciembre'],
day : ['L','M','M','J','V','S','D'],
first: 1 // First day of week => Monday
};
こうなってますけど、これバリエーションを列挙するとかなりになるんですよね。プラグインのデータ集みたいな発展もありうるかも(笑;
久しぶりにコードにどっぷり浸ってるので少し幸せな今日この頃です(^^
日付入力用カレンダーの、
角田さんによる祝日表示拡張版が「昭和の日」改正に対応。
角田さん、ありがとうございます(_ _)。カレンダーの祝日表示って、本当にこのメンテナンスこそが大事なんですよね、、、。

カレンダーによる日付入力スクリプト
のカレンダー表示位置を指定できるようになりました。
body onloadであらかじめ表示させておくこともできます。
■日付入力用カレンダー
レイヤー版
日付入力用カレンダーレイヤーを自動生成します。
[ 20050330 update ]
カレンダー表示位置を指定できるようになりました。
body onloadであらかじめ表示させておくこともできます。
[ サポートページ ] http://game.gr.jp/js-ml/samples/199912/calendar/cal2.htm
使用可能なブラウザ
Win n4 n6 n7 moz e4 e5 e6 o6,
Mac n4 n6 n7 moz e4.5 e5 ,
Linux n4 n6 n7 moz
--------------------------------------------------
サブウインドウ版
日付入力用カレンダーを自動生成します。たとえば、日付入力欄へカーソルを入れるとカレンダーウインドウが開きカレンダーウインドウの日付をクリックすると自動的に入力欄へ日付が入ります。
使用可能なブラウザ
Win n4 n6 n7 moz e4 e5 e6,
Mac n4 n6 n7 moz e4.5 e5,
Linux n4 n6 n7 moz
[ サポートページ ] http://game.gr.jp/js-ml/samples/199912/calendar/calendar.htm
[ 更新] 2002.11.15 バグフィクス
[ 関連リンク ] 日付入力用カレンダー生成
http://allabout.co.jp/computer/javascript/closeup/CU20020529/index.htm
日付入力用カレンダーを使用させていただいております。
大変便利で、とても使いやすく、現在開発中のASPプログラムで使用させていただいています。
ここで質問ですが、
ドロップダウンコントロールがある画面では、
カレンダーがそのドロップダウンの後ろにまわってしまい、表示が重なって見づらくなってしまいます。
これは簡単に対処できるのでしょうか?
教えていただけますか?
今の業務システムに日付入力カレンダーが使われています。ありがとうございます。
質問なんですがコンボボックスと重なるとカレンダーが下に行ってしまいます。何とかコンボボックスより上に表示できないでしょうか?
Webサイトを更新中ですが、日付入力用カレンダーレイヤーを実装してテストさせていただきました。
そこで質問ですが、
既存のレイヤーの前面にカレンダーレイヤーを表示させるために、
jsコード中
//--レイヤー生成で次のとおり書き込みました。
style="position:absolute;left:400px;top:300px;z-index:2;">¥n'
//--レイヤー移動でx,y座標に上記の値をそれぞれ書き込みました。
なお、wrtCalendarLayで位置指定すると画面の左上にカレンダーレイヤーの右下部分しか表示されません。
そこで、やむを得ずnullにしてコードに直接値を書き込みました。
すると、カレンダーを表示するには、常に更新しなければならなくなりました。
また、月送りボタンをクリックしてもカレンダーが消えてしまいます。
ちなみにWeb環境はWinXP・IE6.0です。
解決方法をご教示いただけましたら幸いです。
ffdddddddddddddddddddd
hiro ( 2007年11月05日 11:53 )業務管理Webシステムでカレンダーを利用させていただこうと考えておりますがどうしてもできない事が起きてしまったので対応を教えていただけないかと思いコメントさせていただきました。
実はすでにphpとの連携のため、inputに設定するnameが配列となっています。
http://otd8.jbbs.livedoor.jp/javascript/bbs_tree?base=8826&range=1
こちらの質問事項とほぼ同様であったので、最新バージョンと思われる「calendarlay3.js」を使わせていただきました。
html側設定
this.form.r['pro_end']部分の設定の仕方がいけないのだと思うのですが、連想配列のような形で['文字']となります。
例4にあるthis.form.element['e0'] の形にはどうしたらなるのかよくわかりません。
すみませんが、ご教授願えないでしょうか?
たびたびすみません。
html表記の部分が消えてしまいましたので再度その部分だけ書き足させていただきます。
====以下
<input name="r[pro_end]" type="text" value="" />
<input name="Calendar" type="button" value=" " style="background-image: url(img/calendar.gif); background-color:#ffffff; width:20px; height:20px; border:0; cursor:pointer;"
onClick="wrtCalendarLay(this.form.r['pro_end'],event,'yyyymmdd')">
なんども投稿してしまいすみません。
これ試せますか?
http://game.gr.jp/js-ml/samples/199912/calendar/cal4.htm
inputのnameではなく、index番号を使って指定できるようにしてみました。
たとえば、
wrtCalendarLay(this.form[3],event,'mm/dd(曜)')
とか。
返答ありがとうございます。
早速、calendarlay4.jsを落として呼び出しの部分を変えてみたのですが、設定の仕方が悪いせいでエラーがとれません。。
失礼を承知で聞かせてください。
index番号というのは配列番号の事でよいのでしょうか?
例えば
<form name="form" action="test.php" method="post">
氏名
<input type="text" name="r[name]" value=" " >
終了日
<input type="text" name="r[update_day]" value=" " >
<input type="button" value="入力用カレンダー" onclick="wrtCalendarLay(this.form[1],event,'yyyymmdd')">
</form>
とあった場合、終了日の値にデータが入ってほしいのでindex番号はformの配列と考えると
1となると思うのですが、この書き方であっていますか?
これを実行すると「オブジェクトを指定してください」とのエラーになります。
初歩的な質問をしてしまっているかもしれませんが、ご教授いただけると幸いです。
高橋 ( 2007年11月06日 13:24 )indexはそのとおりです。
同じものを試しました。動いています。
http://game.gr.jp/js-ml/samples/199912/calendar/cal4-1.htm
気になるのはform name="form"という名前ですが、動くかもしれませんが、JavaScriptには、this.formというオブジェクトもありますので、なんとなく、、、。
あと、BODYタグはありますか?
hiro ( 2007年11月06日 18:32 )何度も本当にありがとうございます。
確かに、サンプルに記載していただいた方は動いていますね・・・(TT)
htmlの記載の部分をコピーしてみてたのですがやっぱり動作しません。
bodyタグはあります。検証のため単純なhtmlに記載してためしています・・
===記載しているhtml====
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>calendarLay</title>
</head>
<body>
<script type="text/javascript" src="js/calendarlay4.js"></script>
<form name="calf1">
name="r[update_day]" テスト
終了日
<input type="text" name="r[update_day]" value="" ><br>
<input type="button" value="入力用カレンダー" onclick="wrtCalendarLay(this.form[0],event,'yyyymmdd')">
</form>
</body>
</html>
=================
jsフォルダの下にcalendarlay4.jsを置いて参照していますが、このファイルはダウンロードしたままでもちろん何もいじっていません。
なんででしょう??
いろいろ消したり名前を変えてみたりしていってるのですが・・
本当に、自分が情けなくなります・・・
エラーの原因がわかりました!
漢字コード&改行コードの違いでした!
unix系サーバのため、漢字コードEUC、改行コードLFでhtmlを作成しています。
漢字コードEUCのままだと、カレンダーを呼べず、オブジェクトエラー、
改行コードがLF、もしくはCRだけだとカレンダーは呼べて値を入れることができたとしても何かしらのエラーが出てしまっていたようです。
htmlをSJISに変換してから試したところ動作しました。
本当に、ありがとうございました。
ちなみに、漢字コードEUCの場合でも動作するとかの改変までは・・・やっぱり無理ですよね?
ああ、それでしたら、calendarlay4.jsをEUCに変換してから使われたらよいと思います。サーバーがEUCならその方があとあと良いでしょうし。
あるいは、<script type="text/javascript" src="./calendarlay4.js" charset="Shift_JIS"></script>
のように.jsファイルの文字コードを明示的に指定すると解決するはずです。
ありがとうございました!
EUCの場合も変換をしたら無事に動作するようになりました。
今後どんどん利用させていただきたいと思います。
Javascriptはなんとなくでしか勉強をしていなかったのでこれを機いろんなことができるようになりたいですね。。
あ、もうAjaxの方を理解しないといけなくなっちゃいますね・・・ ^^;;
またサイト訪問で勉強させていただきます。
本当にありがとうございました。
WinIEで日付入力するとGIFアニメが止まる件。IEのバグかな?という気もしますが、
230行目あたりの下記を
wrtdateA = '<A HREF="javascript:function v(){'
このように変更すると止まらなくなります。
wrtdateA = '<A HREF="#" onclick="function v(){'
【費用】 とりあえず、言い値で承ります。ただし、できる範囲での限定受付です。込み具合等によりお受けできない場合がありますのであらかじめご了承ください。サポートにご納得いただけなければ料金は不要です。 逆に感動したら多くても構いません(^^;;;。
【できること】 たとえば、かも日記で無料配布されているコードのカスタマイズや、あるいは、JavaScript/Ajax全般+Webサーバーとの連携などのアドバイス&サンプル作成等 。A:jQchartなどでWeb用グラフ設置(エクセル→CSVやデータベースからWebグラフ生成)などのアドバイスやカスタマイズサンプル作成。B:ツリーメニューなどのカスタマイズサンプル。C:Google Mapsのカスタマイズ。etc...
【できないこと】 腕立て伏せ200回
【ライセンス】 私が今まで「かも日記」等で提供してきたコードの大半は、商用利用、改造、自由、連絡不要で、今後もそれらは変わりません。そして、この有料サポートによりカスタマイズコードなどが提供される場合でも、同様に、それらを商用利用しても改造しても自由です。ただし、制限のきついライブラリなどを使う場合は、各ライブラリのライセンスに準拠せざるを得ない場合があります。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 |



