Eventos paralelos al cliente de reCAPTCHA v2


¿ reCAPTCHA v2 expone algún evento paralelo del cliente? Estoy buscando específicamente identificar cuándo se ha devuelto la respuesta Captcha una vez que la casilla está marcada, para que pueda revelar el botón "Continuar" a continuación.

introduzca la descripción de la imagen aquí

Sin esto, es posible que el usuario haga clic en la casilla de verificación y luego haga clic rápidamente en el botón enviar antes de que vuelva la respuesta captcha.

Podría agregar mi propio controlador de eventos de clic a la clase recaptcha-checkbox-checkmark y sondear la visibilidad de la garrapata, me preguntaba si había una forma más sencilla de hacer esto?

$(".recaptcha-checkbox-checkmark").click(function() {
        //...Poll for visibility of tick
    });
Author: QFDev, 2015-07-29

2 answers

Puede configurar reCAPTCHA para dar una devolución de llamada en la validación exitosa utilizando el atributo data-callback en la etiqueta g-recaptcha o a través del parámetro 'callback' si se utiliza la representación explícita.

Véase https://developers.google.com/recaptcha/docs/display#render_param

Ejemplo usando la representación explícita:

var myCallback = function(val) { console.log(val); };
grecaptcha.render(
   document.getElementsById('my-recaptcha-placeholder'), 
   {
     callback: myCallback, 
     sitekey: mySiteKey
   });
 20
Author: Aaron,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-29 00:55:43

Otra solución es establecer data-callback directamente en el div g-recaptcha, así

<script type="text/javascript">
  var imNotARobot = function() {
    console.info("Button was clicked");
  };
</script>

<div class="g-recaptcha" data-callback="imNotARobot" data-sitekey="key"></div>
 22
Author: Oleander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-04 02:36:40