CakePHP ajax表单更新复制页面
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CakePHP ajax表单更新复制页面,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2039字,纯文字阅读大概需要3分钟。
内容图文
![CakePHP ajax表单更新复制页面](/upload/InfoBanner/zyjiaocheng/799/9404dc69811b41fcbea8e9090eb56e3a.jpg)
我在我的网站上使用Js帮助程序有一个基本的ajax表单,它工作正常但是当有验证错误时,更新回调会复制我的成功div中的整个页面.
成功div:
<div id="success"></div>
提交按钮:
echo $this->Js->submit('Send', array(
'before'=>$this->Js->get('#sending')->effect('fadeIn'),
'success'=>$this->Js->get('#sending')->effect('fadeOut'),
'update'=>'#success',
'class'=>'btn btn-primary'
));
使用Javascript:
$(document).ready(function(){
$('#postkey, #gender, #hair, #location, #message').blur(function(){
$.post(
'/Cake_ajax/Posts/validate_form',
{ field: $(this).attr('id'), value: $(this).val() }
//handleNameValidation
);
});
});
在我的控制器中验证表单功能:
public function validate_form(){
if($this->RequestHandler->isAjax()){
$this->request->data['Post'][$this->request['data']['field']] = $this->request['data']['value'];
$this->Post->set($this->request->data);
if($this->Post->validates()){
$this->autorender = FALSE; // don't render a view
$this->set('error','');
}else{
$this->layout ="ajax";
$this->autoRender = FALSE;
$error = $this->validateErrors($this->Post);
$this->set('error',$this->Post->validationErrors[$this->request['data']['field']][0]);
}
}
}
我不知道这是否有足够的信息继续下去,如果我需要发布更多代码,请告诉我.
谢谢.
解决方法:
我刚刚使用你的zip文件测试了你的应用程序.
我观察到的是,这不是放在#success div中的整个页面,而只是Posts / add.ctp视图的内容.
所以基本上这意味着RequestHandler正确地完成它的工作,这意味着使用的布局是’ajax’布局.
为了摆脱表单中的任何其他内容,add.ctp页面不应包含表单中的任何其他内容.在您的情况下,Posts / add.ctp包含导航链接,这就是它们重复的原因.
也就是说,提交按钮当前正在获取Posts / add.ctp视图的内容并将其插入空的#success div中.但是你永远不会删除页面上已有的表单.
你可以做的是更新包含你的第一个表单的div的内容,甚至是整个Posts / add.ctp视图的内容.
在您的情况下,只需更新#content而不是#success div可能适合您的需求:
echo $this->Js->submit('Send', array(
'before'=>$this->Js->get('#sending')->effect('fadeIn'),
'success'=>$this->Js->get('#sending')->effect('fadeOut'),
'update'=>'#content',
'class'=>'btn btn-primary',
'controller'=>'posts',
'action'=>'add'
));
内容总结
以上是互联网集市为您收集整理的CakePHP ajax表单更新复制页面全部内容,希望文章能够帮你解决CakePHP ajax表单更新复制页面所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。