php – 如何在点击刷新按钮上重新加载Zend Captcha图像?

前端之家收集整理的这篇文章主要介绍了php – 如何在点击刷新按钮上重新加载Zend Captcha图像?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的PHP页面中应用了一个Zend验证码,现在我需要添加验证码重新加载按钮.请按照zend给出答案.
只是两个快速的片段,但我想你会得到这个想法.根据需要调整元素名称和选择器.

在控制器中添加一种方法生成新的验证码

public function refreshAction()
{
    $form = new Form_Contact();
    $captcha = $form->getElement('captcha')->getCaptcha();

    $data = array();

    $data['id']  = $captcha->generate();
    $data['src'] = $captcha->getImgUrl() .
                   $captcha->getId() .
                   $captcha->getSuffix();

   $this->_helper->json($data);
}

在你的视图脚本(我使用mootools为ajax请求)

document.addEvent('domready',function() {
     $$('#contactForm img').addEvent('click',function() {
        var jsonRequest = new Request.JSON({
            url: "<?= $this->url(array('controller' => 'contact','action' => 'refresh'),'default',false) ?>",onSuccess: function(captcha) {
                $('captcha-id').set('value',captcha.id);
                $$('#contactForm img').set('src',captcha.src);
            }
        }).get();
    });
});

编辑:添加pahan的jquery

$(document).ready(function() {
    $('#refreshcaptcha').click(function() { 
        $.ajax({ 
            url: '/contact/refresh',dataType:'json',success: function(data) { 
                $('#contactForm img').attr('src',data.src); 
                $('#captcha-id').attr('value',data.id); 
            }
        }); 
    }); 
});
原文链接:https://www.f2er.com/php/139818.html

猜你在找的PHP相关文章