Ich habe eine sehr einfache Form wie folgt. Ich möchte es so gestalten, dass die Schaltfläche Senden deaktiviert und erst aktiviert wird, nachdem der Benutzer die ReCaptcha erfolgreich abgeschlossen hat.
Ich gehe davon aus, dass ich dafür Javascript / jQuery benötige.
Googles Dokumentation zu ReCaptcha 2.0 scheint wirklich spärlich und dicht zu sein (für mich jedenfalls). Ich würde mich über einige Hinweise freuen:
<form action="something.php" method="post">
Name: <input type="text" size="40" name="name"><br><br>
<div class="g-recaptcha" data-sitekey="############-#####"></div>
<input type="submit" value="Submit" >
</form>
Antworten:
Ich habe das gleiche auf meiner Testseite gemacht. Ich habe jedoch einen Button verwendet, anstatt zu senden, also hier:
Sie müssen die Eigenschaft
data-callback="enableBtn"
data-callback hinzufügen, die die nach Abschluss von recaptcha angegebene Funktion ausführt.<div class="g-recaptcha" data-sitekey="############-#####" data-callback="enableBtn"></div>
und setzen Sie die ID der Schaltfläche auf die gewünschte ID und deaktivieren Sie sie:
<input type="button" value="Submit" id="button1" disabled="disabled">
Machen Sie dann auf Javascript eine Funktion, um die Schaltfläche zu aktivieren
function enableBtn(){ document.getElementById("button1").disabled = false; }
ich hoffe es hilft.
quelle
<div class="g-recaptcha" data-sitekey="############-#####" data-callback="enableBtn"></div>
var enableBtn = function(){
data-expired-callback
Sie sollten auch ein Attribut festlegen, mit dem die Schaltfläche wieder deaktiviert werden kann, wenn der Benutzer zu lange wartet und die Captcha-Prüfung abläuft. developer.google.com/recaptcha/docs/display