Capcha代码不会因Yii中的页面刷新而更改


Capcha code does not change by page refresh in Yii

我正试图通过以下代码刷新图像中的captcha代码:

$(function() {
    $('#yw0_button').click(); // captcha refresh
});

但这段代码改变了图像中captcha代码的字体,而不是代码本身。如果每次刷新页面,有没有办法刷新我的captcha代码?thx

相反,您应该使用类似的东西来在页面刷新时刷新captcha

<?php
         $session = Yii::app()->session;
         $prefixLen = strlen(CCaptchaAction::SESSION_VAR_PREFIX);
         foreach ($session->keys as $key) {
             if (strncmp(CCaptchaAction::SESSION_VAR_PREFIX, $key, $prefixLen) == 0)
                  $session->remove($key);
             }
?>

将其放置在视图中创建captcha的位置之前。

这是根据得出的答案

<?php 
// click refresh button on page load
Yii::app()->clientScript->registerScript( 'refresh-captcha', 
'$(document).ready(function(){$("#yw0_button").click();});' ); 
?>