0

キャプチャのリロード アクションに問題があります。Chrome ではうまく機能しますが、Firefox や IE ではうまく機能しません。Captcha と Button があり、ページ全体をリロードせずに Captcha を更新したい。これで少しでもお役に立てれば幸いです。 JavaScriptコードの頭:

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
        <link href='resources/styles.css' rel='stylesheet' type='text/css' />
        <title>...</title>
        <script language="javascript" type="text/javascript">
            function reloadCaptcha()
            {
                img = document.getElementById('captcha');
                img.src = 'resources/templates/captcha/Captcha.php';
            }
        </script>
    </head>

キャプチャと更新ボタン:

<img src="resources/templates/captcha/Captcha.php" id='captcha'>
    <a href="#" onclick='javascript:reloadCaptcha();'>
        <img src="../backend/resources/media/captcha_refresh.png">
    </a>
4

4 に答える 4

1

問題はキャッシュにあるのではないかと思います。img src次のように、 new にタイムスタンプを追加することでこれを修正できます。

function reloadCaptcha() {
    var img = document.getElementById('captcha'),
        timestamp = new Date().getTime();
    img.src = 'resources/templates/captcha/Captcha.php?' + timestamp;
 }
于 2013-08-08T16:18:54.017 に答える
0

Firefox と Internet Explorer で同じ問題が発生しました。イベントハンドラーを使用して、問題を解決しました。使用する

evt.preventDefault(); 
return false;

あなたのJavaScript関数で。

于 2015-05-27T16:56:06.083 に答える
0

あなたの構文は悪いです。

オプション1:

<a href="javascript:reloadCaptcha();">

オプション 2:

<a href="#" onclick='reloadCaptcha();'>

オプション 3: EventHandler API を使用します。

于 2013-08-08T16:13:33.193 に答える