Recaptcha.reload() solves reload problem
[dylansserver.git] / includes / ajax.js
1 $(document).ready(function() {
2 $('#recaptcha_widget').show();
3 $('.submit').click(function() {
4 if ($('#comment_text').val() != '') {
5 var challenge = Recaptcha.get_challenge();
6 var response = Recaptcha.get_response();
7 var captcha_data = { "challenge" : challenge,
8 "response" : response};
9 $.ajax({
10 type: "GET",
11 url: "/captcha",
12 data: captcha_data,
13 success: function(data) {
14 if (data.split('\n')[0] == 'true') {
15 var name = $("#comment_name").val();
16 var email = $("#comment_email").val();
17 var text = $("#comment_text").val();
18 if (name == '') { name = "anon" }
19 var comment_data = { "captcha" : "passed",
20 "name" : name,
21 "email" : email,
22 "text" : text};
23 $.ajax({
24 type: "POST",
25 // the url may need to be adjusted for
26 // trailing slashes
27 url: "verify",
28 data: comment_data,
29 success: function() {
30 if (email != '') {
31 var new_post = "<h3><a href='mailto:" + email
32 + "'>" + name + "</a></h3>"
33 + text + "<br><br>";
34 } else {
35 var new_post = "<h3>" + name + "</h3>"
36 + text + "<br><br>";
37 }
38 $('#comments').prepend(new_post);
39 $('#comment').hide();
40 console.log('posted new comment');
41 }
42 });
43 } else {
44 var error = "<span style='font-weight:bold;font-family:sans-serif;color:red;margin-top:15px;'>reCAPTCHA said you're not human</span>";
45 $('#comment').append(error);
46 }
47 },
48 error: function() {
49 console.log('error');
50 },
51 complete: function() {
52 Recaptcha.reload();
53 }
54 });
55 } else {
56 var error = "<span style='font-weight:bold;font-family:sans-serif;color:red;margin-top:15px;'>but you didn't write anything!<br></span>";
57 $('#submit').before(error);
58 }
59 return false;
60 });
61 });