2015-02-11 83 views
-1

如何填寫新的(ver 2)recaptcha填寫提交表格 ?在提交表格之前檢查是否填寫了recaptcha2

問題是這個驗證碼在iframe中,並且不允許從它讀取id。

要清除的東西 - 我不想驗證captcha,但只是檢查它是否填充之前我提交表單。

編輯
我有引導模式中一種形式,如果我將提交給檢查驗證碼服務器端的話,我就必須重定向用戶返回到他用頁面,並再次顯示模式錯誤通知。

在我看來,這將是相當不好的用戶expereince。

+0

請問爲什麼要投票? – Jask 2015-02-11 15:46:00

+0

我沒有downvote,但不是recaptcha驗證輸入的全部目的?如果沒有填充,問題是什麼?它只會返回一個錯誤... – Tallmaris 2015-02-11 15:46:37

+0

@Tallmaris我編輯了問題 – Jask 2015-02-11 15:50:36

回答

3

你最好的辦法是從的ReCaptcha API使用getResponse

grecaptcha.getResponse(opt_widget_id) 

opt_widget_id是可選的,該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 
    });