以下のコードをお使いください。
1.コントローラでリフレッシュボタンを生成するメソッドを追加します。
public function koushinAction(){
$form = new Form_Contact();
$captcha = $form->getElement('captcha')->getCaptcha();
$hoge = array();
$hoge['id'] = $captcha->generate();
$hoge['src'] = $captcha->getImgUrl() .
$captcha->getId() .
$captcha->getSuffix();
$this->_helper->json($hoge);
}
2.ビュースクリプトは以下のコードになります。
document.addEvent('domready', function() {
$$('#contactForm img').addEvent('click', function() {
var jsonRequest = new Request.JSON({
url: "<?= $this->url(array('controller' => 'access', 'action' => 'koushin'), 'default', false) ?>",
onSuccess: function(captcha) {
$('captcha-id').set('value', captcha.id);
$$('#contactForm img').set('src', captcha.src);
}
}).get();
});
});
3.JQueryは以下のようになります。
$(document).ready(function() {
$('#koushin').click(function() {
$.ajax({
url: '/access/koushin',
dataType:'json',
success: function(hoge) {
$('#contactForm img').attr('src', hoge.src);
$('#captcha-id').attr('value', hoge.id);
}
});
});
});
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。