開発者の皆さん、お久しぶりです。僕の街ザグレブではもうワールドカップの話題で持ちきりです。 毎朝メールボックスにジダンに関するジョークやら、Flashで頭突きして倒すゲームやら舞い込んできて 読むだけでも大変です。


今日はDojoライブラリを使った日付入力の方法を紹介したいと思います。
なぜDojoライブラリかと言いますと、商業的に成功しているからです。
スポンサーとしてIBM,Sunがついているのでしばらくはちゃんとバージョンアップを 続けていくと思われます。
企業としてAjaxライブラリを選ぶとなると、それなりに勉強にコストが掛かりますので せっかく1,2週間かけて覚えたライブラリの開発が止まってしまうとそのコストが無駄になってしまいます。
そういう視点でDojoライブラリはお勧めです。もちろん機能設計もちゃんとしていて、簡単に使おうと思えばサックリ使えますし、 ちょっと複雑な場合でも使えるようになっています。

日付入力ですが、みなさんどのように実現していますか?
まさか、これや、ましてや、こんな方法でやっていたりしていないですよね?
Dojoライブラリを使うと、こんなんやこんなんなのが簡単に出来てしまいます。
もし、現在のプロジェクトで古い方法でやっている場合は、今日説明するソースをコピって 綺麗でクールなカレンダーを実現してしまいましょう。
もちろん綺麗でクールなだけでなく、この方法でやればめんどくさい値の検証のコードを書く必要がありません。 お客さんだけでなくプログラマーも、デバッガーもみんなハッピーです(笑)

まずやらなければならない事は関連ライブラリの読み込みです。


Dojoライブラリの読み込みはまず、メインのライブラリdojo.jsを読み込んでから 使用するライブラリを読み込みます。

んで、カレンダーを表示するには

普通のカレンダーの場合:

ドロップダウンカレンダーの場合:

このタグを書くだけです。これでカレンダーが表示されます。簡単でしょ?
まぁでもカレンダーを表示しただけでは意味がありません。これだとただのDivタグなので「保存」ボタンを 押した際に他のフォームのデータと一緒にサーバーに送らなければなりませんよね?
なので、値を取得する必要があります。
値を取得するには

普通のカレンダーの場合:

ドロップダウンカレンダーの場合:

とやります。
まぁここまで出来れば大体OKなのですが、複雑なページを作っている場合、 ユーザーが値を選択した瞬間になにかアクションを行いたい場合もあります。
(SelectボックスのOnselectみたいな感じですね)そのために、Dojoライブラリは ウィジェットのイベントに対応する関数を関連付ける仕組みが用意されています。

まずやる事は、HTMLの最後の最後に以下の文を追加します。

dojo.addOnLoadメソッドはDojoがすべてのウィジェットを読み込んだ際に呼ばれます。 Body.Onloadでは、Dojoのウィジェットがまだ生成されておらず、普通のDivタグなので イベントを関連付ける事ができません。

そしてinit関数の中で日付を選んだ時のイベントと呼び出す関数を関連付けます。

どうですか?簡単でしょ?
前述しましたが、ここに動くサンプルを置いてあるので参考にしてください。
http://www.yasue.us/samplecodes/alternative/2/calendar_dropdowndatepicker.html
http://www.yasue.us/samplecodes/alternative/2/calendar_datepicker.html

ではでは、次回はこれと同じ内容を全部動的に作る方法を書きます。

#なにか分からない事があれば、気軽にコメントで聞いてくださいね。

Ken

Special

- PR -
コメント
kasushi 2006/07/16 10:54

こんなもの重すぎて使い物にならないと思いますがどうでしょうか。
ユーザーに対しても、開発者に対しても優しくないものをWeb2.0っていうんですね^^

あと、リンクがひとつlocalhostになってますが、これもWeb2.0ですか?

takemoto 2007/05/08 18:14

dojoちょっと重すぎますね・・
これじゃあ使う場所を選んでしまいます。
軽量化する方法ってないのでしょうか?


コメントを投稿する
メールアドレス(必須):
URL:
コメント:
トラックバック

http://app.blogs.itmedia.co.jp/t/trackback/77444/5837069

トラックバック・ポリシー


» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

安江 健

安江 健

普通のプログラマー。今はクロアチアと言う国でプログラマーやってます。現在はJavascriptを書く毎日です。

詳しいプロフィール

最近のコメント
最近のトラックバック
カレンダー
2011年3月
    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    
カテゴリー
エンタープライズ・ピックアップ

news094.gif 富士通元社長の山本卓眞氏が残した次代へのメッセージ
富士通の社長、会長を務めた山本卓眞氏が亡くなった。哀悼の意を込めて、日本のIT産業界の大御所が残した次代へのメッセージを紹介しておきたい。(2/6)

news094.gif Facebook就活はもう古い?
約260人のブロガーが、ITにまつわる時事情報などを日々発信しているビジネス・ブログメディア「ITmedia オルタナティブ・ブログ」。その中から今回は「就活」「都心の雪」「ソーシャルメディア」などを紹介しよう。(2/4)

news094.gif 東北をコットンの生産地としてブランディングしたい──リー・ジャパン・細川取締役
塩害に強い綿の生産で東北に新たな産業を作りたい。オーガニックコットンの採用など、環境負荷を下げるジーンズ生産に取り組んできたリー・ジャパンの新たなチャレンジとは──。(1/30)

news094.gif 東北から始まるイノベーション
企業のICTを活用と若手IT技術者による東北発のイノベーションが、中長期的な震災復興の鍵となる。(1/27)

news094.gif 貧困国の雇用を創出する印刷屋、丸吉日新堂印刷の挑戦
全国から約2万7000件の名刺制作を受注をする札幌の小さな印刷会社の成功の秘密は、地道な社会貢献にあった。(1/16)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。

Special

- PR -

サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ