2016-07-22 4 views
0

Я ищу, чтобы использовать recaptcha Google для добавления на мой сайт. Форма html просто требует вызова действия MAILTO, если recaptcha возвращает true для кнопки отправки. Это упрощенный код в <head> и <body>.google recaptcha для отправки электронной почты

<head> 
    <script type="text/javascript"> 
     var onloadCallback = function() { 
     grecaptcha.render('html_element', { 
      'sitekey' : 'my key' 
     }); 
     }; 
    </script> 
    <script src='https://www.google.com/recaptcha/api.js'></script> 
</head> 

<body> 
    <form action="MAILTO:[email protected]" method="post" enctype="text/plain"> 
     Name<br><input type="text"><br><br> 
     E-mail<br><input type="text"><br><br> 
     <input type="submit" value="Send"> 
     <input type="reset" value="Reset"> 
     <div class="g-recaptcha" data-sitekey="mykey"></div> 
    </form> 

    <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" 
    async defer> 
    </script> 
</body> 

Одна проблема в том, что я новичок в JavaScript, так следующий google's javascript API правильно было трудно. Кнопка send может быть нажата в любое время.

Короче, что я хотел бы узнать это:

  1. Как только позволит кнопку отправить работать, если CAPTCHA на Google, возвращает истину.
  2. Как центрировать captcha в css.
+0

Для чего вы хотите? Спамботы не «посещают» ваш сайт, они ползают по нему. Они найдут вашу электронную почту в исходном коде. Использование googlerecaptcha, чтобы скрыть его, не будет работать. Вам нужно проверить ответ google на своем сервере, и если положительная отправка адреса электронной почты обратно клиенту –

+0

Да, я не знал об этом факте. Значит, мне нужно было бы POST-форму и получить доступ к данным через php? – Max

+0

Чтобы сделать его как спамбекумент возможным, да. –

ответ

0
<script type="text/javascript"> 
var verifyCallback = function(response) { 
//called when success 
document.all.body.hide.style.display="block"; 
}; 
var onloadCallback = function(){ 
grecaptcha.render('verify', { 
'sitekey' : 'your_site_key', 
'callback' : verifyCallback, 
'theme' : 'dark' 
}); 
}; 
</script> 
</head> 
<body> 
<div id="verify"></div> 
<form> 
<button type="submit" id="hide">Submit</button> 
</form> 
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer> 
</script> 
<style>#hide{display:none;}</style> </body></html> 
+0

Привет, Йонас. Кажется, что ваш код не генерирует ответ, чтобы отобразить кнопку отправки при отображении запроса подтверждения google. Любая помощь будет отличной – Max

+0

Любые ошибки (посмотрите на консоль) и что именно не работает? –

+0

Так что я думаю, что ваш код делает противоположное тому, что я ищу. Я бы хотел, чтобы кнопка отправки появилась, после того, как recaptcha Google вернет True. – Max

Смежные вопросы