Yii验证码不出现刷新按钮的解决方法
今天做后台登录的验证码,防止别人用机器恶意暴力破解网站管理员密码,可是做出来了,发现少了一个刷新按钮。
没有刷新按钮是很不方便,比如有时候验证码生成的比较难懂,用户看不清楚,只要点一下“重新生成验证码”就可以获得一个新的验证码,这样会很方便用户,结果现在不出来。于是就开始检查代码,看看代码哪儿有问题,可是检查了代码,发现生成验证码代码没有问题,如果输入正确的验证码,也可以登录。就是不出来验证码,于是整个人的状态都不好了。于是我就找了一下官方的demo,发现和官方的demo的代码基本也是一致的。哭一会儿先。然后不死心,那就看看生成的html源码吧。发现官方的有两个js文件。
<script type="text/javascript" src="/assets/7482a9ba/jquery.js"></script> <script type="text/javascript" src="/assets/7482a9ba/jquery.yiiactiveform.js"></script>
如上,而我的生成的html文件没有这两个文件,顿时感觉。这两个文件挺重要的的。
Boss:“给我查查为什么为多这两个文件?!!” 我:“喳!”
一分钟后问题定位在:
官方: $this->renderPartial('xxx'); 我的: $this->renderPartial('lxxx');原来renderPartial默认不渲染输出的。所以没有这两个js,于是悄悄的将代码改成
$this->renderPartial('lxxx',array(),false,true);
然后刷新页面,如下图:
果真我的正确的,咔咔咔。。。。额,界面不好看,改成正文的吧。
我去更丑了,算了是把刷新按钮加到验证码上吧,然后在验证码上加一个提示,恩就这样
好啦,就这样。。。。