2017-06-29 4 views
0

J'ai un formulaire dans mon site Web, mais j'ai reçu une certaine durée, donc j'ajoute Google RecaptchaV2 et il arrête la durée, mais je voudrais désactiver le bouton Envoyer jusqu'à ce que le Recaptcha est vérifié et l'utilisateur c'est humain.RecaptchaV2 activer/désactiver soumettre

Le RecaptchaV2 s'exécute dans un Iframe, comment puis-je lire un élément ou une propriété pour désactiver le Submit?

A l'intérieur du Iframe il y a une période qui changent contenu une fois est vérifiée: de:

<span id="recaptcha-accessible-status">Recaptcha requires verification</span>

à:

<span id="recaptcha-accessible-status">You are verified</span> 

lecture Alors que je pense peut-être possible de désactiver/activer le bouton soumettre avec Jquery, a essayé d'utiliser content() pour le lire mais ne peut pas accéder au contenu iframe, des idées?

Merci!

+0

Et qu'est-ce que vous avez essayé jusqu'à présent? – vaso123

+0

J'ai inclus plus de détails sur le poste. – ysanmiguel

+1

Copie possible de [Comment puis-je valider google reCAPTCHA v2 en utilisant javascript/jQuery?] (Https://stackoverflow.com/questions/27902539/how-can-i-validate-google-recaptcha-v2-using-javascript-jquery – vaso123

Répondre

0

Voici la réponse, cela est juste pour désactiver/activer le bouton d'envoi à l'arrivée:

Fait à travailler avec des formes différentes dans une page, mais pas testé, des suggestions/changements sont les bienvenus.

Appel:

<div class="g-recaptcha" data-sitekey="KEY-HERE" data-callback="correctCaptcha"></div> 
<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=en"></script> 

Les données rappel = "correctCaptcha" est la pièce maîtresse.

js:

$("form").each(function() { 
    $(this).find(':input[type="submit"]').prop('disabled', true); 
}); 
function correctCaptcha() { 
    $("form").each(function() { 
     $(this).find(':input[type="submit"]').prop('disabled', false); 
    }); 
}