Есть функция валидации формы обратной связи. Выгляди так:
jQuery(document).ready(function($) {
$('.form').submit(function() {
var formInputs = $(this).find('.validate');
var errors = '';
$(formInputs).each(function() {
if($.trim(this.value) == '') {
fieldLabel = $(this).parent().find('span.label-text').html();
errors += '- ' + fieldLabel + '\n';
}
});
if(errors.length > 0) {
alert('Feel:\n\n' + errors);
return false;
}
else
{
$('.submit-button').val('Wait please...');
$('.submit-button').attr('disabled', 'disabled');
return true;
}
});
});
Нужно было в нее добавить recaptcha invisible. Сделал следующим образом:
...
else {
$('.submit-button').val('Wait please...');
$('.submit-button').attr('disabled', 'disabled');
function get_action(form) {
var v = grecaptcha.getResponse();
if(v.length == 0) {
grecaptcha.reset(); }
else {
$.ajax({
type: "POST",
url: "/reCaptcha.php",
data: form.serialize(),
dataType: "json",
success : function(text){
if (text == "success"){
formSuccess();
} else {
formError();
submitMSG(false,text); } }
}); } }
} }); });
reCaptcha.php
<?php
if(isset($_POST['g-recaptcha-response'])) {
$result = json_decode(file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=6L---7O&response=$_POST["g-recaptcha-response"]&remoteip=$_SERVER["REMOTE_ADDR"]'), TRUE);
if($result['success'] == 1) {
console.log("Ok");
} else {
grecaptcha.reset();
}
}
?>
Валидация работает, а каптча -нет (можно несколько десятков раз форму отправить, она не появится). Никогда раньше с ней дело не имел. Полагаю, проблема в логике интеграции каптчи. Направьте на путь истинный, пожалуйста.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно ли использовать css хаки в 2017 году? Например для border-rarius, border-box, box-shadow и так далее
По умолчанию она снизу, нашел в документации как сделать сверху, но right, left не работает :(