
================
追記:2009/01/12
================
Ajaxフォームのサンプルとしては、Ajaxヘルパーをつかった問合せフォームプラグインも公開しています。
よかったらどうぞ。
================
cakePHPでAjaxをちょこっとやったので書きます。
Ajax用に新しくコントローラとビューを作成せずに、ひとつのビューとコントローラで処理しました。
ajaxload.infoにあるようなおしゃれなLoading画像を使うのもいいですね。
サンプル:ログインフォームをAjaxでやってみる。
class TestsController extends AppController{
var $name = "Tests";
var $helpers = array('Html' ,'Javascript' , 'Ajax' );
var $uses = array('Test','Staff');
function form(){
$this->layout = "login";
//データが送られてきたら
if(!empty($this->data)){
$this->layout = "ajax";
//表示するエラーメッセージ
$this->set('message','ユーザーIDかパスワードが違います。');
$data = array(
'user_id' => $this->data['Staff']['user_id'],
'password' => $this->data['Staff']['password']
);
//データの検査
if(!$this->Staff->validates($this->data)){
return;
}
$data = $this->Staff->findAll($data);
if(count($data) == 0){
return;
}
//認証OK(今回は指定のURLへ飛ばす)
$this->set('url','/admin/tests/index');
$this->set('message','OK');
}
}
<?php
//ajaxでのアクセスの場合
if(!empty($message)){
if (isset($url)) echo $javascript->codeBlock('window.location = "'.$url.'"');
echo $message;
exit;
}
$options = array(
"update" => "messageDiv",
"loading" => "Element.hide('ajax_button'); Element.hide('messageDiv'); Element.show('loadingImg');",
"complete" => "Element.show('ajax_button'); Element.show('messageDiv'); Element.hide('loadingImg');",
);
echo $ajax->form("/tests/login", "post", $options);
?>
ログインID:
<?php echo $html->input("Staff/user_id",array('size' => '35'));?>
<br/>
パスワード:
<?php echo $html->password("Staff/password",array('size' => '35'));?>
<br/>
<div id="messageDiv" style="display:none"></div>
<div id="loadingImg" style="display:none">
<?php echo $html->image("ajax-loader-green.gif");?>
</div>
<?php echo $html->submit("ログイン",array("id"=>"ajax_button"));?>
</form>
prototype.jsをapp/webroot/jsに置き、読み込む。
<head>
/*
*省略
*/
<?php echo $javascript->link('prototype')?>
</head>
→ツイッターのフォローはこちら
この投稿への コメント/トラックバック はまだありません...
MICKです。
1983年1月24日生まれ。ウェブの世界にいるのは、偶然のようで必然なのかも。
好きなこと :
国民的人気を誇っている坂本龍馬の人気のきっかけを作った司馬遼太郎の小説「竜馬がゆく」で龍馬の人気の秘密がわかる!?。
[続きを読む!]

龍馬の金策日記―維新の資金をいかにつくったか (祥伝社新書)
よく推理小説とかだと読書を中断するタイミングが掴めない時があるんですが、この本も同じ感覚で読めました。
[続きを読む!]
人生って、一度しかないっていう単純なことに気がついた。
「あぁ、あの時どうして・・・」と悔やみながら人生を終わるのは嫌だと思った。
[続きを読む!]
なんで禁煙本が自己啓発やねん。と思われた方すみませんw
しかし、何を隠そう自分はこの本でタバコをやめたのです!
[続きを読む!]
| 位 | アクセス元 | 数 |
|---|---|---|
| bing.com | 290 | |
| twitter.com | 258 | |
| q.hatena.ne.jp | 121 | |
| 4 | b.hatena.ne.jp | 101 |
| 5 | fdays.blogspot.com | 91 |
| 6 | d.hatena.ne.jp | 68 |
| 7 | analytics-ja.blogspot.com | 59 |
| 8 | as.blog16.jp | 48 |
| 9 | cakephp.blog16.jp | 45 |
| 10 | 1kb.jp | 33 |
| 11 | moviereleases.mommyc・・・ | 31 |
| 12 | milds.net | 28 |
| 13 | syuhari.jp | 28 |
| 14 | blog.development-net・・・ | 25 |
| 15 | atmarkit.co.jp | 21 |