javascript - www - recaptcha secret




ラジオボタンをクリックした後にGoogle Recaptchaが表示されない (2)

この実例を確認してください(この例をできる限りあなたの状況に近づけるために最善を尽くしました):

$('input[name="data[Form][sv]"]').change(function(e) {
  $.ajax({
    async: true,
    beforeSend: function(XMLHttpRequest) {
      $('#loading').show();
    },
    complete: function(XMLHttpRequest, textStatus) {
      $('#loading').hide()
    },
    data: $(this).closest("form").serialize(),
    evalScripts: true,
    success: function(data, textStatus) {
      $("#search").html(data);
      Recaptcha.reload();
    },
    dataType: "html",
    type: "POST",
    url: "https://httpbin.org/post"
  });
  return false;
});

function showRecaptcha(element) {
  Recaptcha.create('6Ld3TPkSAAAAAPckREYZuVQ6GtjMQsD-Q5CkzNxj', element, {
    lang: 'pt-BR',
    theme: 'white',
    custom_theme_widget: 'recaptcha_widget',
    //callback: Recaptcha.focus_response_field
  });
}

$(function() {
  showRecaptcha('recaptcha');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
<div id="recaptcha"></div>

<h4>Radio Inputs: </h4>
<form>
  <input type="radio" name="data[Form][sv]" id="FormV1" value="1" />V1
  <input type="radio" name="data[Form][sv]" id="FormV2" value="2" checked="checked" />V2
</form>
<h4>Ajax Post Result <span style="display:none" id="loading">Loading...</span>: </h4>
<div id="search">

</div>

私は2つのラジオボタンを持っています。 フォームフィールドを変更するためにそれらの1つをクリックすると、captchaバージョン1はそれ以上表示されません。

だから、私は新しいキャプチャ画像を生成するために、リフレッシュボタンをクリックする必要があります。

<input type="radio" name="data[Form][sv]" id="FormV1" value="1" /> V1
<input type="radio" name="data[Form][sv]" id="FormV2" value="2" checked="checked" /> V2

jqueryコードは次のとおりです。

$(document).ready(function () {
    $("#FormV1").bind("change", function (event) {
        $.ajax({async:true, 
        beforeSend:function (XMLHttpRequest) {
            $('#loading').show();
        }, 
        complete:function (XMLHttpRequest, textStatus) {$('#loading').hide()}, 
        data:$("#FormularioSituacaoVeiculo1").closest("form").serialize(), 
        dataType:"html", 
        evalScripts:true, 

success:function (data, textStatus) {
    $("#search").html(data);}, 
    type:"post", 
    url:"\/mysite\/theurl\/"});
    return false;
});

$("#FormV2").bind("change", function (event) {
    $.ajax({async:true, 
    beforeSend:function (XMLHttpRequest) {
    $('#loading').show();
}, 
    complete:function (XMLHttpRequest, textStatus) {
        $('#loading').hide()
    }, 
    data:$("#FormV2").closest("form").serialize(), 
    dataType:"html", evalScripts:true, success:function (data, textStatus) {
        $("#search").html(data);
    }, 
    type:"post", 
    url:"\/mysite\/url\/"});
    return false;
});

function showRecaptcha(element) {
    Recaptcha.create('hjfsdjklsdjklfsdjklfsdjklfjksdl', element, {
        lang : 'en-gb',
        theme : 'custom',
        custom_theme_widget: 'recaptcha_widget',
        callback: Recaptcha.focus_response_field
    }
);
}

showRecaptcha('recaptcha_div');

フォームフィールド(V1からV2)を切り替えて、リフレッシュボタンをクリックすることなく自動的にキャプチャを生成するにはどうすればよいですか?

今日、私がラジオボタンをクリックすると、キャプチャは生成されません。 だから私はキャプチャ画像を再生成するために、リフレッシュボタンをクリックしなければならない。


リフレッシュコードはあなたが探しているものですか?

v1の場合:

Recaptcha.reload(); 

v2の場合:

grecaptcha.reset();




cakephp-2.3