Ajax(JavaScript)の最近のブログ記事

wdCalenderをローカル環境で動かしていて、実際本番環境にUPした時に動かなくなってテンパッタのでメモとしてブログに残しておきます。

症状としてはテスト環境では動くのに本番環境では動かないというもの。
jqueryに頼っているので実際動かないと、どう調査をしたらいいか分からずとりあえず、FireBugで追っかけていきます。
するとどうもテストでは値が入っている所に、本番では入っていないということが分かりました。しかもJSON形式のデータが・・・

JSON形式のデータ???んっ!!以前phpのjson_encodeはphpのバージョンに依存するなというのに、はまった事があるなということで調べるとビンゴでJSONが使えるPHPのバージョンは5.2以上ということ。
本番サーバーではphpのバージョンが5.1.6だったので早速5.1.6でもJSONが使えるように「http://www.softel.co.jp/blogs/tech/archives/973」を参考にサーバーの設定を変更!!
これで動くかなと思っていたのですが動かない・・・という事でもう一度デバッグ作業をしていきます。
今度はphpの記述部分をfwrite関数を使っていって1行ずつファイルにデバッグ文を出力して追って行きます。するとある関数で処理が止まってしまっている事が分かりました。
それはdate_parse関数なのですが調べてみると、この関数が使えるのはphp5.2以上との事でして、JSONと一緒やんという顛末でした。date_parse関数のところを独自の記述に置き換えると見事動いてくれました。

基本としてwdCalenderはphp5.2以上で使うもの。それ以前で使うときは動くように自分で調整をして上げる必要ありという事でした。

CakePHP開発にて、selectボックスの変更イベントで他の項目を自動的に変更するAjaxのサンプルのソースです。modelsとcontrollersの一部のコードにつきましては、割愛させて頂きます。本機能を追加するにあたっては、edit.php,samples_controller.php,ajaxskind.php,ajaxsitem.php,ajaxsmemo.phpのコードを参照して頂き、参考になれば幸いです。
今回も、Ajax系で書かせていただきます。
まあ、よくある郵便番号を入力すると住所が自動で入力される物です。

DBを使いたくなかったのでググッたらKawa.net様が公開されているAjaxZip2を使わせていただきました。
色々な入力フォームに対応しているのですごく便利になりました。

そこで、郵便番号が変更になった時にAjaxZip2で使っているjsonファイルを更新しますが
その更新用プログラムをPHPで作ってみたので公開します。良かったらどんどん使ってください。
(perlの更新プログラムはKawa.net様が公開されています。)

住所更新プログラムはこちら
みなさん、WEBサイトで日付を入力するのって大変ですよね。
そこで、JavaScriptで現在稼働中のサイトでもすぐにカレンダーの入力が出来るようになる物を紹介したいと思います。

株式会社スプーキーズ様がSpookies LabsでProtoCalendarを公開されております。
デモはこちらで色々な入力フォームに使用できます。

デモの日本用のカレンダーの日曜が右端だったので日曜を左端に持ってくる書き方をメモっておきます。


引数を2つ指定するだけでした。
一つハマったのが、編集画面などでデータが「2008/11/22」ではなく「2008-11-22」のようになっていると入力フォームの初期値が消えてしまいました。

株式会社スプーキーズ様いい物をありがとうございます。

これからこのブログでコードを表示する事が多くなるので、「SyntaxHighlighter」というのを入れてみました。
javascriptで出来ており、コードをそのままhtml上に貼り付けても大丈夫という物です。