2015-04-06 96 views
0

我使用谷歌reCAPTCHA通過angular-no-captcha裏面的twitter引導模式。每次打開彈出窗口時,我都需要重置驗證碼窗口小部件。所以我將其復位,每次模式show事件被稱爲波紋管:Google reCAPTCHA + AngularJS + Twitter Bootstrap - Modal

element.find(".modal").on("show.bs.modal",function(){ 
    $scope.noCaptchaControl.reset(); 
}); 

,但我得到了以下錯誤:

遺漏的類型錯誤:無法讀取屬性未定義 WWW-的OpenSocial的「註冊」 .googleusercontent.com/gadgets/rpc/rpc.v.js:29 Uncaught TypeError:undefined不是函數

任何幫助真的很感激。 感謝很多提前

+0

rpc.v.js在29號線有什麼? – 2015-04-06 09:24:58

+0

}} gadgets.config.register(「rpc」,null,g); ........其縮小文件 – 2015-04-06 09:26:22

+0

在此使用非縮小文件並檢查執行停止的確切行數。通過查看錯誤可以說您的gadgets.config未定義。 – 2015-04-06 09:36:03

回答

1

我猜你缺少「爲widgetid」

嘗試使用通過指令

https://github.com/vividcortex/angular-recaptcha

我已經通過這個指令來實現驗證碼。

我加入以下代碼到我的html頁面

<div vc-recaptcha key="'6Le4sgITAAAAAIzD0brQ3-8ikkN1NQStppnsB1Vi'" on-create="captchaCreate()" 

on-success="setResponse(response)"> </div> 
       <div ng-show="invalidCaptcha" class="form-group"> 
       <div class="has-error"> 
         <span class="help-block">Please verify captcha</span> 
         </div> 
     </div> 

和controller.js

$scope.captchaCreate = function() { 
       console.log("CREATED"); 
//     vcRecaptchaService.reload(); 
      }; 

      $scope.invalidCaptcha = false; 

      $scope.setResponse = function(response) { 
       $scope.user.captcharesponse = response; 
       if (response !== null && response !== undefined && response !== '') { 
        $scope.invalidCaptcha = false; 
       } 
      }; 


$scope.resetCaptcha=function(){ 
vcRecaptchaService.reload(); 
}; 

也是我加入腳本標籤和vcRecaptcha模塊的reCAPTCHA JS到我下面的應用程序通過編輯line

var app = angular.module('myApp', ['vcRecaptcha']); 

它對我來說很好用

+0

請分享演示。我懷疑它是否支持新的Google noCAPTCHA reCAPTCHA – 2015-04-06 16:30:36

+0

我嘗試實現angular-recaptcha並調用vcRecaptchaService.reload($ scope.widgetId);這也會引起問題 – 2015-04-06 20:02:21

+1

中提到的問題,您是否擁有多個recaptcha?如果沒有,則不需要調用vcRecaptchaService.reload($ scope.widgetId);你只需要調用vcRecaptchaService.reload();即沒有傳遞參數'widgetId'也可以工作..我已經在我的系統中實現了它 – Anita 2015-04-07 05:03:37