【发布时间】:2014-05-24 20:08:18
【问题描述】:
我使用的是 CakePHP 2.3.6。在一个页面中,我有一个复选框。我想,当我选中复选框(单击它)时,将向页面发送一个 ajax 发布请求,一些数据将保存在数据库中,然后会出现成功通知。当我取消选择它时(再次单击它),将再次向该页面发送一个ajax post请求,一些数据将保存在db中,然后会出现成功通知。所以,我的视图文件是这样的:
.
.
.
<form>
<label><input type="checkbox" class="item_id" />Save the data</label>
</form>
.
.
.
<?php $this->Js->get('.item_id')->event('onclick',$this->Js->request(array('controller'=>'items','action'=>'saveData',$item['Item']['id'],$another_id),array('async'=>true)));?>
在saveData() 函数中:
if($this->request->is('post')){
//save the data in the db
}
但是,当我点击复选框时,什么也没有发生。
我将 ajax 调用的 php 代码放在该特定视图文件的末尾,而不是 default 布局的末尾。而且,当我从浏览器(“查看源”选项)看到页面的源代码时,我看不到任何应该由 CakePHP 生成的 jQuery 代码。
有什么问题?我应该在这里做什么?我需要在我的数据库中保存一些数据并显示一些通知。
谢谢。
【问题讨论】:
标签: ajax cakephp checkbox event-handling