質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Zend Framework

Zend Frameworkは、PHP5で記述されたWebアプリケーションフレームワークです。Zend Frameworkには守らなければならない開発の規定というものは存在せず、MVCなどの複数のコンポーネントを提供しています。

Q&A

解決済

1回答

1882閲覧

Zend_Capcha_Imageで生成した画像を、ボタンを押して再読み込みさせるには?(PHP)

shin8

総合スコア15

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Zend Framework

Zend Frameworkは、PHP5で記述されたWebアプリケーションフレームワークです。Zend Frameworkには守らなければならない開発の規定というものは存在せず、MVCなどの複数のコンポーネントを提供しています。

0グッド

0クリップ

投稿2015/01/20 08:59

Zend_Capcha_Imageで生成した画像を、リフレッシュボタンを押して再度読み込ませるにはどうしたらいいですか?
Zendを使った解決策を教えてください。

自分で調べても分からなかったので、誰か教えてください。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

以下のコードをお使いください。

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);
}
});
});
});

投稿2015/01/20 10:09

編集2015/02/20 05:12
takoyaki

総合スコア63

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問