2009-05-01から1ヶ月間の記事一覧

Javascript+PHP5で禁則処理をする(その2)

Javascriptでの禁則処理をエンハンスしたついでに、以前作成したPHPの方のプログラムにも同等の機能を実装しておく。 実装する機能は、 禁止する文字を■に置換するのは格好悪いので、化けそうも無い文字(列)に置換する。 というもの。禁止する文字と、その…

Javascriptで禁則処理をする(その2)

以前、作ったJavascriptでのコンバータ(禁則文字の置き換え目的)だが、あるアプリで使ったついで修正を加えた。この間のプログラムの以下の問題点を改善した。 1.禁則文字が続いた場合、■1つに置換されてしまう。 2.■に置換するのは格好悪いので、化…

SmartyをDwooに移行する

これまで、Ajaxのログを延々と書いてきた。 理屈的には、Javascript + HTML + サーバーサイドプログラムで全て完結できそうなのだが、いざアプリを作ろうとすると、(旧来の)MVC2モデルが手放せないことに気がついた。とすると、テンプレートエンジンがかか…

YUI2.7.0+PHP5で画面のヘルプ機能を自作する。

漠然としたタイトルだが、要するに「アプリを作ったとき、画面それぞれにヘルプをつけたい」というためのプログラムのこと。先日のログで作成した、(ログインユーザーのロールに応じた)メニュー機能を転用し、以下の仕様とした。 ヘルプの文面はMarkupで記…

YUI2.7.0+PHP5でメニューを自作する(その2)

先日のログのプログラムを発展させて、 単純なツリー形式にする。 画面にオーバーレイして出現する。 ようにしてみた。 以下は、初期画面のスナップショット。 「Menu」とあるリンクをクリックすると、YUIのAnimを使って、下のようにツリー状のメニューが浮…

YUI2.7.0+PHP5でメニューを自作する(その1)

YUI2.7.0とPHPを使って、以下のようなシンプルなメニューを作ってみたい。YUIに付属するメニューは、ちょっと好きになれない。 ログインしたユーザーに応じて、メニューの内容を変える。 単純なツリー形式にする。 画面にオーバーレイして出現する。 第1回…

YUI2.7.0のTreeViewがおかしい。。。

少し前、YUI2.6.0から2.7.0へ移行をした際に、ColorAnimがおかしい、ことに気がついた(このログ)。 その時に気がつかなかったのだが、TreeViewもおかしいみたい。。。以下のようなマークアップからTreeViewを生成した際に、アンカーから生成したノードをク…

モジュールパターン(module pattern)とクロージャーパターン(closure pattern)

Javascriptの記述方法としては、functionを書き連ねて、必要に応じて呼び出すことが多いんじゃないかと思う。だが、それだと雑然としたコードになって、「とりあえず書いてみました」的な印象となってしまう。このログでもしばしば取り上げてきたが、YUI Blo…

YUI2.7.0+PHP5でモーダル表示のログイン処理を作る(その2)

ログイン処理をもう少し実用向けにしてみたい。 以前、どこかのサイトで「認証はページに帰属させる」という記事を読んだ記憶がある。認証処理はアクションに帰属させるのが一般的であろうが、Ajaxを前提とした場合、ページに帰属させることで、少なくとも利…

YUI2.7.0+PHP5でログアウトの処理を作る。

前回(YUI2.7.0+PHP5でログインの処理を作る)の自然の流れとして、Logout処理を作ってみた。Javascriptから、XHRでPHPのプログラムを呼び出して以下の処理を行う。 SESSIONに紐づいているCOOKIEの廃棄 SESSION内に保管してデータの削除 また、これを確認す…

YUI2.7.0+PHP5でモーダル表示のログイン処理を作る

趣向を変えて、YUI2.7.0のPanelを使って、モーダル(modal)表示のログイン画面を作ってみた。ログインは、 E-Mailアドレス パスワード で行うことにし、この情報は、CSV形式でサーバーに置く(以下)。 dummy@dummy.com,password画面の動きは以下のようにす…

YUI2.7.0のEditable Table(編集可能な表)でCSV形式のデータを更新・削除する。

これまでの一連のログで一通りの道具立てが揃ったので、YUI2.7.0のDataTable(EditableTable;編集可能な表)を使って、以下のフラットファイル(CSV形式)のデータを更新・削除するプログラムを書いてみた。 01,北海道,テスト 02,青森,- 03,秋田,- 04,岩手,-…

YUIのDataTableとキャッシュ(Cache)コントロール

これまでのしばらく、『YUI2.7.0のDataTable(特に、Editable Table:編集可能な表)の実用』を想定したコードを書いてきた。それらのログの中で、「(更新・削除されたデータが)表の中に一時的に保管される」と書いた。これは、「ページをリフレッシュする…

PHP5でファイルをロックするコードを書いてみた

PHP

友人のmezawa氏から、トラックバックが届いた。ブログを始めた様子(リンクはこちら)。 (このログの流れからすると)唐突だが、PHP5でファイルをロックする仕組みを書いてみた。PHPプログラムでファイルをロックするには、fopen()でファイルポインタを取得…

YUI2.7.0のEditable Table(編集可能な表)で編集したデータをサーバーに送信する(その2)

前回のログでは、YUI2.7.0のEditable Table(編集可能な表)について、更新・削除時に(DataTableオブジェクト内に)一時保管されるデータを、配列に蓄積するスクリプトを書いた。今回は、それを発展させて、その内容をサーバーに送るコードを書いてみる。こ…

YUI2.7.0のEditable Table(編集可能な表)で編集したデータをサーバーに送信する(その1)

ここまで、YUI2.7.0にあるEditable Table(編集可能な表)について、セルの更新と妥当性検証(Validation)、行の削除を行ってきた。 変更されたデータは、Page Scope(Javascriptオブジェクト)に保存されていて、実際の利用局面では、サーバーに送って永続…

YUI2.7.0のEditable Table(編集可能な表)で1クリックで行を削除する

YUI2.7.0のEditable Table(編集可能な表)について、バリデーションのコードを書いてきた。 バリデーションは、データの登録・更新に伴う処理。 今回は、 のような表を用意して、都道府県名の脇のマークをクリックしたら、行が削除される仕組みを作ってみる…

YUI2.7.0のEditable Table(編集可能な表)でのバリデーション(その3:相関チェックをする)

先のログで、DataTableのセルエディタ(Cell Editor)についてバリデータを自作してみた。ここで一点気になるのが、表の同一行内の値との「相関チェック」をどうするか?ということ。先のログのバリデーションでは、「そのセルの値」のみがチェックの対象。…

YUI2.7.0のEditable Table(編集可能な表)でのバリデーション(その2:バリデータを自作する)

今回は、DataTableの「セルエディタ(Cell Editor)に設定するバリデータ(validator)」を自作してみる。YAHOO.widget.DataTable.validateNumberのソースを見ると、以下のように書けばいいことがわかる。 引数として入力値をとる関数 引数を検証し、OKならo…

YUI2.7.0のEditable Table(編集可能な表)でのバリデーション

簡単な入力フォームのバリデーション(入力検証、入力制限)について書いてきたが、編集可能なテーブルについても同様な処理をしたい。YUIのDataTableはよく出来ているので、バリデーションからサブミットまでのプロセスの雛形を作っておいても損はなさそう…