【原创】记录yii framework开发企业网站过程-第3天

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: 【原创】记录yii framework开发企业网站过程-第3天

今晚遇到个奇葩问题,后台登陆界面的验证码死活不能刷新,后来经过一番折腾,终于搞定,解决办法参考了2个网址,如下:

http://blog.sina.com.cn/s/blog_7d0c4ede0101glhk.html

原文如下:

后台登陆调用验证码,点击验证码不刷新,没有反应(所有验证码配置,参数都是正确的)。找错的时候发现可以刷新验证码的页面比不可以刷新验证码的页面多了一段js代码,用来处理点击验证码刷新的事件。

为什么会少了一段代码?原来就是因为控制器分别调用了renderPartial和render. 下面就说说它们的区别:

在进行页面输出渲染的时候。

render 输出父模板的内容,将渲染的内容,嵌入父模板。
renderPartial 则不输出父模板的内容。只对本次渲染的局部内容,进行输出。
同时还有个重要的区别:

render 函数内部默认执行processOutput($output)函数, 会将把组件,比如 CTreeView 里面注册到CClientScript 里面的需要的脚本进行渲染输出。

而renderPartial() 默认不自动渲染输出客户端脚本,需要进行参数的指定,才会输出:
renderPartial($view,$data=null,$return=false,$processOutput=false)
指定processOutput 为 true 即可。

就像我们遇到的问题,用renderPartial时,页面没有输出验证码刷新的那段js。所以就没有反应。

http://blog.csdn.net/poly_sunny/article/details/19995801

主要是给renderPartial()方法参数修改下即可。

image

QQ截图20140730000815

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: 【原创】记录yii framework开发企业网站过程-第3天

文章的脚注信息由WordPress的wp-posturl插件自动生成



|2|left
打赏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: