Здравствуйте! Имеется такая ситуация: по нажатию кнопки "отправить" срабатывает обработчик чекера-форм, если всё верно -- вызывается всплывающее окно с гуглокапчей, реализовано через плагин reCAPTCHAv2, при вверно введёной капче вызывается функция которая отправляет форму -- при обработке результата на бакенде получаю ошибку: missing-input-response
.
Мой код
#### в шаблоне Anket.html.ep
% layout 'default';
% title 'Заполнить заявление на бесплатный протез';
<script src="http://parsleyjs.org/dist/parsley.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#anket').parsley().on('field:validated', function() {
var ok = $('.parsley-error').length === 0;
$('.callout-info').toggleClass('uk-hidden', !ok);
$('.callout-warning').toggleClass('uk-hidden', ok);
})
.on('form:submit', function() {
$('#captcha').bPopup();
return false;// Don't submit form
});
});
</script>
...
<form method="POST" id="anket" enctype="multipart/form-data">
...
<div id="captcha" class="captcha">
<span id="close-c" class="close-c">X</span>
<center><h2>Введите гуглокаптчу для отправки формы</h2></center>
<%= $captcha %>
</div>
</form>
<script>
function formSend() {
var form = document.getElementsByTagName("form");
form[0].submit();
};
</script>
<script src="/js/jquery.bpopup.min.js"></script>
#### обработчик post зароса в Controller/Pages.pm
sub anket_add {
my $self = shift;
if ($self->recaptcha_verify) {
say "окей!";
...
} else {
if (my $err = $self->recaptcha_get_errors) {
foreach my $e (@{$err}) {
say "ERROR $e";
}
$self->redirect_to('error');
}
$self->redirect_to('error');
}
}
### инициалзиация lib/Project.pm
$self->plugin( ReCAPTCHAv2 => {
sitekey => 'mykey',
secret => 'mysecret',
theme => 'light',
callback => "formSend"});
Я догадываюсь, что дело либо в popup либо в отправке формы javascript'ом сразу по каллбаку, но в чём именно дело и как разрешить ситуацию?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть два <div> одинакового классаНа странице один выше другого
Как сделать так, чтобы select принимал в функции query() в переменной result результат функции filterIn() и фильтровал по своим аргументам 'name', 'gender', 'email'Не...
Мне нужно создать массив классаtab_p, потом получить каждого из них высоту и назначить всем элементам данного класса наибольшую высоту