====== jQueryで非同期処理(DB更新) その2 ====== protocalendar.js を組み込んでみる。 http://labs.spookies.jp/product/protocalendar ===== テーブル作成 ===== CREATE TABLE IF NOT EXISTS `tasks` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `created` datetime NOT NULL, PRIMARY KEY (`id`) ); ===== index.ctp ===== * protocalendar を使うために prototype.js を、非同期処理に jQuery を使っているが、共存には注意。 読み込む順番は prototype ⇒ jQuery、その直後に jQuery.noConflict() の記述が必要。 css('stylesheets/simple'); echo $html->script('prototype'); echo $html->script('protocalendar'); echo $html->script('jquery-1.3.2.min'); echo $html->script('jquery-ui-1.7.3.custom.min'); ?>

Tasks

create('Task', array('default'=>false)); ?>
end(); ?>










===== ajax_add.ctp =====
  • ===== ajax.ctp ===== ===== tasks_controller.php ===== set('tasks', $this->Task->find('all',array('order' => array('title')))); } function ajax_add() { $this->layout = "ajax"; if($this->RequestHandler->isAjax()) { $title = $this->params['form']['title']; $this->Task->id = null; $this->data['Task']['title'] = $title; $this->Task->save($this->data); $this->set('t', $title); } } }