我在cakephp中有点新鲜,我正在制作一个用于添加类及其部分的表单,为此我已经创建了一个控制器,其代码就是这样的--- 的 addclasses_controller.php
layout ='internal'; $ SESSION_ID = $这 - >会话而>读取( 'User.id'); $ username = $ this-> User-> find('all',array('conditions'=> array('User.id'=> $ session_id))); $这 - >设置( 'SESSION_ID',$用户名); } function add() { $ this-> layout ='internal'; $ SESSION_ID = $这 - >会话而>读取( 'User.id'); $ username = $ this-> User-> find('all',array('conditions'=> array('User.id'=> $ session_id))); $这 - >设置( 'SESSION_ID',$用户名); if(!empty($ this-> data)){ $这 - > Addclass->创建(); $这 - >红色[ 'Addclass'] =阵列( '类名'=> $这 - >数据[ 'Addclass'] [ '类名'], '部分'=> $这 - >数据[ 'Addclass'] [ '部分']); if(!! $ this-> Addclass-> save($ this-> red)){ $ lastid = $这 - > Addclass->编号; $ this-> Session-> setFlash('Categories is Saved!'); $ this-> redirect(array('action'=>'add'),null,true); } } } function isAuthorized(){ 返回true; } function addsection() { $ noofsection = $这 - >数据[ 'Addclass'] [ '部分']; $这 - >设置( 'noofsection',$ noofsection); } } ?>并且add.ctp代码是 -
添加课程 create('Addclass',array('url'=> array('controller'=>'addclasses','action'=>'add'))); ?> Class Nametext('classname',array('class'=>'users')); ?> 要添加文本的部分数('section',array('class'=>'users')); ?> observeField('AddclassSection',array('url'=> array('action'=>'addsection'),'frequency'=> 0.2,'onChange'=> true,'update'=>'雇主));?> 端( '提交');?>和我用过的模型--- addclass.php
Section-“value =”“class =”users“name =”“/> ////////////////////////////////////////////////// /////////////////////////////////// 我试图访问我的添加控制器中的ajax生成文本值当表单被submiited时,它只访问那些在形式上是静态的,为了检查这个我有调试($ this-> data); 我只有两个价值--- **“请帮我解决问题,我的cakephp项目真的需要这个。** ?>答案 0 :(得分:1)
根据我的经验,蛋糕中的ajax助手效果不佳。我已将其替换为使用jQuery。您可以阅读更多相关信息here。
答案 1 :(得分:0)
同意cdburgess - 根据我的经验,CakePHP中的AJAX助手是非常有限的(在我看来)并不是非常有用的目的 - 即点击链接并用结果更新div。我最终使用Prototype / Scriptaculous(与CakePHP比jQuery更好地集成)来手动执行AJAX,使用Prototype的AJAX functionality和CakePHP的RequestHandler来确定何时返回AJAX。
但是,如果你做的不仅仅是更新盒子,反向折叠使用CakePHP的助手a good article。