0

ログインページを作りたい。そのため、次のHTMLコードを使用して、ログインフォームにキャプチャ画像を配置しました。

<img name="captcha" id="captcha" src="captcha/CaptchaSecurityImages.php?width=90&height=28&characters=5"/>

次のように、読み取り不能な場合にユーザーがクリックしてキャプチャを変更できるボタンを配置します。

<input type="button" name="new_Captcha_button" onClick="new_captcha()"/>

そして、クロムでのみ機能するスクリプトを次のように作成しました。

<script type="text/javascript">
function new_captcha()
    {   
        document.images["captcha"].src = "captcha/CaptchaSecurityImages.php?width=90&height=28&characters=5";
    }
</script>

ただし、他のブラウザでは機能しないため、前のコードを次のコードに置き換えます。

<script type="text/javascript">
function new_captcha()
    {
        var xmlhttp;
        if (window.XMLHttpRequest)
          {// code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
          }
        else
          {// code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
        xmlhttp.onreadystatechange=function()
          {
          if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                document.getElementById("captcha").src = xmlhttp.responseText;
            }
          }
        xmlhttp.open("GET","captcha/CaptchaSecurityImages.php?width=90&height=28&characters=5",true);
        xmlhttp.send();
    }

したがって、コードを正しくするためにコードをどのように変更する必要があるか教えてください。次の行だけを変更する必要があると思います:

document.getElementById("captcha").src = xmlhttp.responseText;

どうもありがとう。

4

2 に答える 2

2
<script type="text/javascript">
function new_captcha()
    {   
        document.getElementById('captcha').src = 'captcha/CaptchaSecurityImages.php?width=90&height=28&characters=5&_t=' + Math.random(1);
    }
</script>

ajaxを使用する必要はありません。関数new_captcha()はそのままで問題ありません。

于 2013-03-02T09:05:41.647 に答える
1

あなたはこれをしようとするかもしれません

login.php

<div id="captcha_container"></div>
<input type="button" id="btn_recaptcha" value="Recaptcha">

<script>
function ajax_loadpage(loadUrl,output_container)
    {
        $.post
        (
            loadUrl,
            {language: "php", version: 5},function(responseText){$(output_container).html(responseText);},"html"
        );
    }

ajax_loadpage("captcha_page.php","#captcha_container");

$('#btn_recaptcha').click(function(){
   ajax_loadpage("captcha_page.php","#captcha_container");
})
</script>
______________________________________________________________________________________
captcha_page.php
<img width="212" height="53" src="captcha.php">

captcha.php には私のキャプチャ コードが含まれており、header ("Content-type: image/gif");コードが含まれているため、画像ファイルを保存できる場所に追加の php ファイルが必要でした。したがって、私の captcha_page.php を使用します。私のために働いた:)

于 2013-03-02T10:53:25.003 に答える