J'essaye d'implémenter le plus nouveau ReCaptcha (aka "ReCaptcha" invisible) dans un formulaire en utilisant jQuery et une requête "ajax".
documentation ReCaptcha: https://developers.google.com/recaptcha/docs/invisibleReCaptcha invisible avec jQuery ajax
Ma forme:
<form id="myForm" >
<input type="email" name="email" /><br />
<input type="password" name="password" /><br/>
<!--<input type="submit" value="log in" />-->
<button class="g-recaptcha" data-sitekey="6LdK..." data-callback="onSubmit">log in</button>
</form>
<div id="status"></div>
Mon javascript (jQuery):
<script>
function onSubmit(token){
document.getElementById("myForm").submit();
}
$(document).ready(function(){
$("#myForm").submit(function(event){
event.preventDefault();
var datas = $("#myForm").serialize();
$.ajax({
type: "POST",
url: "test.php",
data: datas,
dataType: "json",
beforeSend: function(){
$("#status").html("logging in...");
},
success: function(response){
$("#status").html(response.text);
if(response.type=="success"){
window.location.replace("/myaccount");
}
},
error: function(){
$("#status").html("Failed.");
}
});
});
});
</script>
ReCaptcha nécessite de définir une "données rappel", que je ne suis pas sûr pour lier avec ma fonction ".submit (function (event)" déjà existante
Mon truc "onSubmit()" ne fonctionnait pas, il ignorait le "ajax" et actualisait la page
Comment envoyer la valeur "g-recaptcha-response" dans ma variable "datas" pour l'envoyer à test.php?
@ 13h15 J'ai exactement le même problème, avez-vous trouvé une solution? – VinZ
@VinZ Oui, en l'affichant dès que possible – 13h50