Beste mensen,
Ik ben al een paar dagen bezig met reCaptcha v2 op een webformulier in combinatie met de jQuery Validation plugin ( https://jqueryvalidation.org/validate/ ).
Nu vond ik op Stackoverflow een handig antwoord hierover. Zie https://stackoverflow.com...-jquery-validation-plugin (en dan het antwoord met de 33 punten).
Het werkt hier echter maar voor de helft. Het probleem is hier dat het alleen werkt als je eerst vergeet de reCaptcha aan te vinken, en dus de validatieplugin zijn ding doet en met de waarschuwingen bij het vergeten veldje(s) komt. Maar vink je de reCaptcha meteen goed aan, dan ververst de pagina zichzelf als je op verzend klikt. Iets dat volgens mij niet zou moeten mogen. Ik kan dan ook niets op de console zien want ik zit dan weer tegen de lege ververste pagina aan te kijken.
HTML-code (een beetje vereenvoudigd zonder bootstrap opmaak):
jQuery:
Misschien ziet er iemand gelijk al waarom de reCaptcha de eerste keer niet doorkomt?
Ik ben al een paar dagen bezig met reCaptcha v2 op een webformulier in combinatie met de jQuery Validation plugin ( https://jqueryvalidation.org/validate/ ).
Nu vond ik op Stackoverflow een handig antwoord hierover. Zie https://stackoverflow.com...-jquery-validation-plugin (en dan het antwoord met de 33 punten).
Het werkt hier echter maar voor de helft. Het probleem is hier dat het alleen werkt als je eerst vergeet de reCaptcha aan te vinken, en dus de validatieplugin zijn ding doet en met de waarschuwingen bij het vergeten veldje(s) komt. Maar vink je de reCaptcha meteen goed aan, dan ververst de pagina zichzelf als je op verzend klikt. Iets dat volgens mij niet zou moeten mogen. Ik kan dan ook niets op de console zien want ik zit dan weer tegen de lege ververste pagina aan te kijken.
HTML-code (een beetje vereenvoudigd zonder bootstrap opmaak):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <form class="form email" id="contactformulier"> <input name="name" type="text" id="name" placeholder="Your Name" required> <input name="email" type="email"id="email" placeholder="Your Email" required> <input name="subject" type="text"id="subject" placeholder="Subject"> <textarea name="message" id="message" rows="4" placeholder="Your Message" required></textarea> <script src="https://www.google.com/recaptcha/api.js"></script> <div class="g-recaptcha" data-sitekey="xxxxxxxxxxxxxxxxxxxxxxxxx" data-callback="recaptchaCallback"> <input type="hidden" class="hiddenRecaptcha required" name="hiddenRecaptcha" id="hiddenRecaptcha"> <div class="notificatie"></div> <button type="submit" class="btn btn-primary" >Verzend Bericht</button> </form> |
jQuery:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| $(document).ready(function($) { "use strict"; // Form Validation $(".form.email .btn[type='submit']").on("click", function(e){ var button = $(this); var form = $(this).closest("form"); form.validate( { ignore: ".ignore", rules: { hiddenRecaptcha: { required: function () { if (grecaptcha.getResponse() == '') { return true; } else { return false; } } } }, messages: { hiddenRecaptcha: "Je moet deze spambeveiliging nog even aanvinken", }, submitHandler: function() { $.post("assets/php/email.php", form.serialize(), function(response) { $(".notificatie").html(response); form.addClass("submitted"); }); return false; } }); }); }); function recaptchaCallback() { $('#hiddenRecaptcha').valid(); }; |
Misschien ziet er iemand gelijk al waarom de reCaptcha de eerste keer niet doorkomt?
[ Voor 7% gewijzigd door Verwijderd op 01-11-2017 14:43 ]