0

私はこのようにCaptchaを表示しています:

<img src="ReturnCaptcha2.php" alt="CAPTCHA" width="100" height="50">

その近くに「リロード」という名前のハイパーリンクがあります。ページを更新せずにその PHP ファイルを思い出したい。おそらく、AJAXが関与しています。手伝ってください。

4

10 に答える 10

3
<a href="javascript:;" title="Reload Image" 
   onclick="document.getElementById('captcha').src = 'cimage.php?' + Math.random(); 
   return false">
   <img src="cimage.php" alt="Enter captcha" title="Enter captcha" id="captcha"/>
</a>
于 2012-07-05T14:10:59.323 に答える
3

リクエストがキャッシュされないように、タイムスタンプなどのパラメータはありませんか? srcを(jqueryを使用して)のようなものに置き換えてみませんか

$("img#your-selector").attr("src","ReturnCaptcha2.php?_="+((new Date()).getTime()));
于 2009-10-27T13:02:00.613 に答える
2

Here is the code I use with Secureimage PHP Captcha.

<form method="POST">
<input type="hidden" name="PHPSESSID" value="0b21dde61d891cd" />
<img id="siimage" src="securimage_show.php?sid=2ef186788e" alt="CAPTCHA Image" width="126" height="36" /><br />
<input type="text" name="code" /><br />
<a href="#" onclick="document.getElementById('siimage').src = 'securimage_show.php?' + Math.random(); return false">Reload Image</a>
<input type="submit" value="Submit Form" />
</form>
于 2009-10-27T13:00:23.740 に答える
1

Why not use http://recaptcha.net/ and save yourself the trouble of it all? They will just handle the Captcha for you.

Here is some integration info on PHP and recaptcha: http://www.google.com/recaptcha/plugins/php

as I mentioned, it is not difficult at all to integrate into your webapp. Give it a try!

于 2009-10-27T12:57:59.343 に答える
0

もう1つのアプローチは、少しajaxを使用することができます..更新ボタンで次のようにアクションを与えます:onclick = javascript:reloadCaptcha();

この reloadCaptcha 関数で、captcha.php を呼び出し、キャプチャを保持する div を戻り値で更新します。簡単に html を返し、それを div に埋め込むことができます。

于 2009-10-28T07:19:57.383 に答える
0

リンクを作成して、同じ部門でキャプチャをリロードすることもできます。問題なければ。

Enter Image Text <input name="captcha" type="text"> <img src="captcha.php" /><br> <a href="captcha.php">Reload Captcha</a><br/>

于 2016-07-04T11:52:00.277 に答える
0

たぶん次のようなもの:

function reloadCaptcha()
{
img = document.getElementById('captcha');
img.src = 'ReturnCaptcha2.php';
}

そして でボタンを追加しますonclick="reloadCaptcha();"

私はそれをテストしておらず、私は js の第一人者ではないので、うまくいくかどうかはわかりません。

于 2009-10-27T13:01:00.910 に答える
-1

簡単なトリックでこの問題を解決しました。キャプチャを入れる代わりに、それを<img>入れて、<iframe> 必要なときにjavascriptを使用してリロードします

Javascript をリロードするには:

function reloadCaptcha()

{
document.getElementById('cap').src='captcha.php';
}

実際の HTML:

<iframe id="cap" src="captcha.php"></iframe> <input type="button" value="reload" onclick="reloadCaptcha();"/>

それは私の問題を解決します。私がどこかで間違っている場合は修正してください

于 2012-03-24T07:01:43.937 に答える
-2

@meme: 私は同じものを使用していますが、jquery を使用しています。1 つのページにいくつかのキャプチャが必要な場合:

<img class="captcha" src="/securimage/securimage_show.php" alt="CAPTCHA Image">
<a class="capcha-refresh" href="#" ><img src="/images/Refresh-icon.png"></a>

そしてjs関数:

$('.capcha-refresh').click(function(a){
       $('.captcha').attr('src','/securimage/securimage_show.php?' + Math.random());
       a.preventDefault();
})
于 2011-12-21T08:35:16.803 に答える