2015-02-11 4 views
-1

Как проверить, заполнена ли новая (ver 2) recaptcha до отправки ?Проверьте, не заполнили ли recaptcha2 перед отправкой формы

Проблема в том, что этот captcha находится внутри iframe и не позволяет читать идентификаторы от него.

Чтобы прояснить ситуацию - я не хочу проверять капчу, но просто проверьте, не заполнено ли оно до того, как я отправлю форму.

EDIT:
У меня есть форма внутри начальной загрузки модальный, если я представлю его проверить на стороне капчи сервера, то я бы перенаправить пользователя на страницу, он использовал и показать модальный снова уведомление об ошибке.

На мой взгляд, было бы довольно плохой пользовательский опыт.

+0

Могу ли я спросить, почему голос? – Jask

+0

Я не спустил вниз, но разве не вся цель recaptcha для проверки ввода? в чем проблема, если она не заполнена? он просто вернет ошибку ... – Tallmaris

+0

@Tallmaris Я отредактировал вопрос – Jask

ответ

3

Ваш лучший вариант должен был бы использовать getResponse из ReCaptcha API:

grecaptcha.getResponse(opt_widget_id) 

opt_widget_id не является обязательным и идентификатор возвращается из вызова render, хотя, если отсутствует, он будет ссылаться на первый созданный виджет recaptcha (если у вас есть только один виджет, этого будет достаточно).

Docs are here for reference.

0

нормально, я должен можно использовать функцию обратного вызова, чтобы сделать это:

var captchaFilled = false; 
var formValidator = function(data){ 

    if(data.length>10){ 
    captchaFilled = true; 
} 
} 
    $('#form1').on('submit', function(e) { 


      if(captchaFilled===false){ 
       e.preventDefault(); 
       alert("verify yourself"); 
       return false; 
      } 
      else{ 
       alert("ok"); 
       return true; 
      } 


     }); 

    grecaptcha.render('captchadiv', { 
       'sitekey' : '************', 
       'callback' : formValidator 
    }); 
Смежные вопросы