Как обновить изображение captcha при обновлении / загрузке страницы?

Я хочу заставить мой сайт обновлять изображение captcha при каждой загрузке, поэтому у меня есть метод javascript, запускаемый с событием onload (). Здесь у меня есть следующая строка:

document.getElementById('yw0_button').click;

Firebug не обнаруживает ошибок, и в целях тестирования я добавил предупреждение сразу после отображаемой строки, и оно появляется каждый раз при загрузке страницы. Однако изображение не обновляется !

Я считаю, что это имеет отношение к файлу представления:

<?php if(extension_loaded('gd')): ?>
    <div class="row">
        <?php echo $form->labelEx($model,'verifyCode'); ?>
        <div>
            <?php
            $this->widget('CCaptcha',
                          array('showRefreshButton'=>true,
                                'buttonType'=>'button',
                                'buttonOptions'=>
                                                    array('type'=>'image',
                                                          'src'=>"/path/images/refresh-icon.png",
                                                          'width'=>30,
                                                    ),                                                            
                                'buttonLabel'=>'Refrescar imagen'),
                          false); 
            ?>
            <br>
            <?php echo $form->textField($model,'verifyCode'); ?>
        </div>
    <div class="hint">
        Porfavor ingrese las letras como las ve en la imagen superior.
        <br/>No hay distincion entre minúsculas y mayúsculas.</div>
    </div>
<?php endif; ?>

Есть идеи?


@k to z только что видел это! Да, конечно, если бы вы могли помочь мне найти более подходящее решение Это было бы здорово! Вот что я считаю важным для файла представления:

<?php if(extension_loaded('gd')): ?>
        <div class="row">
            <?php echo $form->labelEx($model,'verifyCode'); ?>
            <div>
                <?php
                $this->widget('CCaptcha',
                              array('showRefreshButton'=>true,
                                    'buttonType'=>'button',
                                    'buttonOptions'=>
                                                        array('type'=>'image',
                                                              'src'=>"/path/images/refresh-icon.png",
                                                              'width'=>30,
                                                        ),                                                            
                                    'buttonLabel'=>'Refrescar imagen'),
                              false); 
                ?>
                <br>
                <?php echo $form->textField($model,'verifyCode'); ?>
            </div>
        <div class="hint">
            Porfavor ingrese las letras como las ve en la imagen superior.
            <br/>No hay distincion entre minúsculas y mayúsculas.</div>
        </div>
    <?php endif; ?>

В контроллере я даю авторизованным пользователям разрешение в методе accessRules () на действие captcha, и это все. Могу ли я что-то еще сообщение?

5
задан casperOne 2 January 2013 в 12:09
поделиться