elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Cómo puedo hacer esto con los recapchas de google?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Cómo puedo hacer esto con los recapchas de google?  (Leído 243 veces)
MiguelCanellas


Desconectado Desconectado

Mensajes: 558



Ver Perfil
[Pregunta]: ¿Cómo puedo hacer esto con los recapchas de google?
« en: 26 Julio 2020, 11:06 »

Estoy hace varias horas con un código que creo lo estoy escribiendo bien pero no me funciona y no termino más...

Básicamente estoy intentando detectar cuando el usuario verifica el recaptcha, pero en "tiempo real" quiero decir que el procedimiento es que cuando el usuario verifica un recaptcha al momento el sistema lo detecta y no tengo que esperar a darle click a un botón...

básicamente investigando me encontré que google recaptcha puede capturar tres respuestas por medio de atributos que uno le pone al captcha...

El primero es data-callback="x" => detecta cuando un usuario valida un captcha,
el segundo data-error-callback="y" => detecta cuando ocurre un error como por ejemplo la perdida de conexión,
y por último data-expired-callback="z" => detecta cuando expira el tiempo y el captcha vuelve a como estaba antes...


Bueno teniendo en cuenta estos puntos estoy intentando hacer esto,


HTML
Código
  1.         <form method="post">
  2. <input type="text" name="">
  3. <div class="g-recaptcha input_captcha" data-callback="" data-error-callback="" data-expired-callback="" data-sitekey="CLAVE_DEL_SITIO"></div>
  4. <button type="submit" name="enviar">enviar</button>
  5. </form>
  6.  

javascript
Código
  1. function Prepare_Recaptcha(position)
  2. {
  3.        var input_captcha = document.querySelectorAll('.input_captcha'); // obtengo todos los captchas html
  4.  
  5.                if(input_captcha.length > position)
  6. {
  7. input_captcha[position].setAttribute('data-error-callback', function() // error connection
  8. {
  9. input_captcha[position].style.border = '1px solid red';
  10. alert('No se puede conectar a reCAPTCHA. Revisa la conexión y vuelve a intentarlo.');
  11. });
  12.  
  13. input_captcha[position].setAttribute('data-callback', function() // recaptcha verified
  14. {
  15. input_captcha[position].style.border = 'none';
  16. });
  17.  
  18. input_captcha[position].setAttribute('data-expired-callback', function() // recaptcha expired
  19. {
  20. input_captcha[position].style.border = '1px solid red';
  21. });
  22. }
  23. }
  24.  
  25. Prepare_Recaptcha(0); // preparo el primer captcha, si una página tuviera más entonces iría incrementando los valores o mejor aún lo hago con un for para automatizar la tarea y hacerlo más dinámico...
  26.  


En línea

MiguelCanellas


Desconectado Desconectado

Mensajes: 558



Ver Perfil
Re: [Pregunta]: ¿Cómo puedo hacer esto con los recapchas de google?
« Respuesta #1 en: 27 Julio 2020, 21:44 »

Si esta manera es dificil de enteder tamb me ayudaria si puedo meter una función que reciba al menos un parametro data-callback="alert(1);" pero solamente me deja funciones sin parametros es decir data-callback="alert"


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines