Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AndersonDutra

Validação Front-end do Recapcha do google

Recommended Posts

Bom dia,

 

Estou fazendo a validação Front-end do recaptcha novo do google. Estou usando a seguinte lógica:

$.getJSON( "http://XXXXXX/site/contato/apiRecaptcha/"+$('#g-recaptcha-response').val(), function( data ) {
                        if(data.sucesso){
                            $("input[type=submit]").prop("disabled", true);
                            $("#Recaptcha").attr("style", "visibility: hidden");
                            return true;
                        }else{
                            $("#Recaptcha").attr("style", "visibility: visible");
                            $("#Recaptcha").html("<span style='color: red'>Preencha o Recaptcha!</span>");
                            return false;
                        }

Porém o return false e return true não funciona dentro do getjson. Teria algo equivalente? Tentei usar o event.preventDefault(); porém ele não salva os dados em caso do recaptcha estar preenchido. Fora do getjson ele funciona, porém. estava usando no evento click do botão submit. Porém para funcionar tinha que clicar 2 vezes no botão. O site http://XXXXXX/site/contato/apiRecaptcha/ é uma função php que retorna true ou false de acordo com a validação do recapcha. Queria algo exatamente a isso:

 

https://www.google.com/recaptcha/api2/demo

 

Anderson Dutra

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lembre-se que ajax é assincrono, por isso a tua impressão do return não funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lembre-se que ajax é assincrono, por isso a tua impressão do return não funcionar.

 

Qual seria a maneira correta de fazer para caso seja true o data.sucesso ele mudar de página e caso contrário continuar na mesma página?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que significa mudar de página ?

não seria o submit() do form ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que significa mudar de página ?

não seria o submit() do form ?

Isso mesmo! Esqueci de falar que ele está num event click do botão:

 

 $("#faleconosco").submit( function( event ) {
                    //event.preventDefault();
                    $.getJSON( "http://XXXXXX/site/contato/apiRecaptcha/"+$('#g-recaptcha-response').val(), function( data ) {
                        if(data.sucesso){
                            $("#ok").prop("disabled", true);
                            $("#Recaptcha").attr("style", "visibility: hidden");
                            return true;
                        }else{
                            $("#Recaptcha").attr("style", "visibility: visible");
                            $("#Recaptcha").html("<span style='color: red'>Preencha o Recaptcha!</span>");
                            return false;
                        }
                    });
                });

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.